我至少不是一个数学专家,但我对学习刚体物理很感兴趣(为了实现一个基本的 3d 物理引擎)。在学校我只通过代数 II 学习数学,但我已经做了多年的 3d 开发,所以我对向量、四元数、矩阵等有相当不错的理解。我真正的问题是阅读复杂的公式等,所以我正在寻找对于一些体面的刚体动力学参考,这将是有意义的。
谁有好的参考资料?
我认为面向游戏程序员的物理学比面向游戏开发者的物理学要好。
如果你想在你的书架上放一些厚实的东西(就像我一样),Eberly 的3D 游戏引擎设计和 Erleben 的基于物理的动画可以伴随上述内容。
Chris Hecker在他的网站上有一组很好的文章,这些文章最初发表在 Game Developer Magazine 上。他们从 2D 物理开始,然后发展到 3D。
David Baraff 的基于物理的建模也不错,但在数学上有点重。
我想您正在寻找的是经典力学,它以广义的方式描述了一维、二维和三个维度的运动。
我不保证你能理解那里的所有概念,但它至少会给你一个计划的基础。我建议你咨询物理学教授来帮助你理解数学。
祝你好运!
如果您已经熟悉(并且习惯)
那么6DoF 刚体动力学就是您要寻找的。这是一篇简短的文章 [免责声明:由我撰写],当时我不得不开发直升机飞行模拟器。
使用旋转矩阵可以实现极其简单的建模方程,但如果您出于其他原因更喜欢该表示,则存在与四元数之间的简单映射。
尽量不要让你沮丧地扯掉你的头发(好吧,Baraff/Witkin 的多维矩阵的优秀数学文章有时会这样做),你可以查看更简单的在线文章,例如在 Gamasutra 上发表的文章。这是其中的两个:
您会注意到他们将提到的资源作为参考的一部分。我要补充一点,除非您需要求解多个粒子、关节字符或非刚性复杂对象的方程组,否则这可能就足够了。
但是,如果您确实在寻找涉及矩阵和方程系统的更高级的物理和数学,请查看 Witkin 和 Baraff 的主页(如果我没记错的话,我认为它们都在 Pixar 中),或者从 Hecker 开始(尝试了不止几种实用的方法并记录了他的结果)。