【发布时间】:2013-09-05 06:21:53
【问题描述】:
我至少不是数学专家,但我对学习刚体物理很感兴趣(为了实现一个基本的 3D 物理引擎)。在学校我只通过代数 II 学习数学,但我已经做了多年的 3d 开发,所以我对向量、四元数、矩阵等有相当不错的理解。我真正的问题是阅读复杂的公式等,所以我正在寻找对于一些有意义的刚体动力学参考。
谁有好的参考资料?
【问题讨论】:
我至少不是数学专家,但我对学习刚体物理很感兴趣(为了实现一个基本的 3D 物理引擎)。在学校我只通过代数 II 学习数学,但我已经做了多年的 3d 开发,所以我对向量、四元数、矩阵等有相当不错的理解。我真正的问题是阅读复杂的公式等,所以我正在寻找对于一些有意义的刚体动力学参考。
谁有好的参考资料?
【问题讨论】:
Physics for Game Programmers我觉得比Physics for Game Developers好。
如果你想在书架上放一些厚实的东西(就像我一样),Eberly 的 3D Game Engine Design 和 Erleben 的 Physics-Based Animation 可以配合上述内容。
【讨论】:
Chris Hecker 在他的网站上有一组不错的文章,这些文章最初发表在游戏开发者杂志上。他们从 2D 物理开始,然后发展到 3D。
David Baraff 的Physically Based Modeling 也不错,但在数学上有点重。
【讨论】:
我猜您正在寻找的是经典力学,它以广义的方式描述了一维、二维和三维的运动。
我找到了一个不错的introductory course on Classical Mechanics from the University of Texas。
我不保证您将能够理解其中的所有概念,但它至少可以为您的计划提供一个基础。我建议你咨询物理学教授来帮助你理解数学。
祝你好运!
【讨论】:
如果您已经熟悉(并且习惯)
那么 6DoF Rigid Body Dynamics 就是您要查找的内容。这是一篇简短的文章 [免责声明:由我撰写],当时我不得不开发直升机飞行模拟器。
使用旋转矩阵可以实现极其简单的建模方程,但如果您prefer that representation for other reasons,则存在与四元数之间的简单映射。
【讨论】:
尽量不要让你沮丧地扯掉你的头发(好吧,Baraff/Witkin 的多维矩阵的出色数学文章有时会这样做),你可以查看更简单的在线文章,例如发表在伽马苏特拉。 以下是其中两个:
您会注意到,他们将提到的资源作为参考的一部分。我要补充一点,除非您需要求解多个粒子、关节字符或非刚性复杂对象的方程组,否则这可能就足够了。
但是,如果您确实在寻找涉及矩阵和方程系统的更高级的物理和数学,请查看 Witkin 和 Baraff 的主页(如果我没记错的话,我认为他们都在 Pixar),或者从 Hecker 开始(即尝试了多种实用方法并记录了他的结果)。
【讨论】: