1.2 现代物理模拟引擎深度解析 — 第一节(注重代码实现,代码完整可执行,原理深入说明,尽量少数学推导)
版权声明:本文为优快云博主「VectorShift」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
下面先以非推导性的语言说明关键概念与主流引擎的差异(含参考文献/资料),随后给出单文件、可直接运行的 Python 示例代码,演示:刚体与柔体(简单质量-弹簧)动力学、两种接触模型(惩罚/penalty 与基于冲量/impulse 的近似),以及一个可参数化的模拟环境接口(便于系统识别与自动调参)。代码只依赖 numpy 与 matplotlib,便于立即复现与二次开发。
1.2.1 模拟器内核原理(非推导性说明)
-
刚体动力学(Rigid Body Dynamics):把物体看成不可变形的整体,描述其位置、角度与刚体速度。模拟器需要决策如何在每个时间步更新位置与速度(积分方式)、如何处理关节/约束(如铰链)、以及如何处理接触(碰撞、摩擦)。
-
柔体动力学(Soft Body / Deformable):对象可变形,常见简化实现是质量-弹簧(mass-spring)系统或更精确的有限元
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



