一个简单、用于博客教学的 2D 游戏物理引擎。 知乎专栏:ACRL's Development
请注意: 如果要尝试效果,请前往 Physics2D-TestBed-SFML 。
使用 XMake 进行项目构建:
xmake build
- C++ 20
- 基本的线性代数类
- 2D 图元的碰撞检测
- 精检测阶段(Narrowphase)
- 检测算法
- 分离轴算法
- GJK 算法
- 多边形扩展算法
- 闵可夫斯基入口简化
- Sutherland Hodgman 多边形裁剪
- 连续碰撞检测
- 轨迹采样
- 冲击时间
- 检测算法
- 粗检测阶段
- 轴对齐包围盒
- 动态层次包围体树
- 表面积启发法
- 光线物体查询
- 动态树与数组
- 扫掠减除法
- 均匀网格法
- 精检测阶段(Narrowphase)
- 碰撞点维护
- 刚体模拟
- 连续冲力解算器
- 约束关节
- 鼠标约束
- 旋转/朝向约束
- 点约束
- 距离约束
- 测试 Demo
- 基本 Debug 绘图
- 2D 平滑相机
- 缩放
- 平滑移动
- 跟踪物体
- 基本 2D 计算几何算法
- 基本图元映射
- 相交测试
- 凸体检测
- 三角形三心计算
- 外/内接圆
- 椭圆最近点查询
- 积分器
- 韦尔莱
- 四阶龙格库塔法
- 关节约束
- 结合约束
- 软体模拟
- 有限元方法
- 质点弹簧系统
- 绳子模拟
- 基于位置的动力学
- Box2D
- Box2D Lite
- dyn4j
- matterjs
- nphysics
- Box2D Publications
- dyn4j Official Blog
- Game Physics For Beginners - liabru
- Allen Chou's Blog
- Physics Constraints Series - Allen Chou
- Soft Constraints - ODE
- Gaffer's on Games
- Randy Gaul's Blog
- Winter's Dev
- Primitives and Intersection Acceleration
- Real-Time Rendering Intersection
- Inigo Quilez's 2D SDF Functions
- A Simple Time-Corrected Verlet Integration Method - Jonathan Dummer
- Introduction to rigid body pipeline, collision detection - Erwin Coumans
- Foundations of Physically Based Modeling and Animation - Donald House and John C. Keyser
- Real-Time Collision Detection by Christer Ericson
- Game Programming Gems 7 - Scott Jacobs
- Game Physics Cookbook - Gabor Szauer