trekhleb/self-parking-car-evolution
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
🧬 Training the car to do self-parking using a genetic algorithm
Self-Parking Car Evolution 是一个通过遗传算法训练汽车实现自动泊车的开源实验项目。项目的核心功能是在浏览器中模拟一个3D世界,让多辆汽车通过进化过程逐步学会自主泊车。其最大特点是整个进化过程完全在客户端运行,无需后端支持,用户可以直接在网页上观察从随机乱撞到精准入库的完整演变。项目技术栈以 React 和 TypeScript 为主,3D 场景使用 Three.js 配合 @react-three/fiber 构建,物理引擎则采用 Cannon.js 实现碰撞检测与力学模拟。遗传算法的核心代码不到500行,简洁高效,而约92%的代码量用于UI交互和3D模拟的细节呈现。该项目主要解决了如何用直观、可视化的方式理解遗传算法原理的问题。传统学习遗传算法往往停留在理论或枯燥的数据图表上,而本项目通过生动的3D动画和实时进化演示,让用户能亲眼看到“基因”如何通过选择、交叉和变异逐步优化泊车行为。适用场景包括:作为教学工具帮助初学者理解进化计算的核心概念;作为前端开发者学习 Three.js 与物理引擎集成的参考案例;以及作为遗传算法在路径规划或控制问题上的趣味性实验。用户还可以上传预训练检查点,或通过调试参数观察性能指标,进一步探索算法细节。