我在解决问题时遇到了问题。
我的问题涉及获取物体角度的3D表示,然后在它自己的轴上对该物体应用旋转。
例如,一架飞机:
它在自己的偏航轴上旋转-90度应大致为:
(正如计算纯粹使用另一个程序进行猜测,使飞机成为自己的孩子并旋转90度,然后尝试匹配方向......)
任何人都可以解释如何计算这种旋转吗?甚至指引我走上正确的道路来学习如何?
我尝试将基本旋转矩阵应用于角度(用于围绕原点的旋转点),但它仅相对于基准x / y / z轴而不是飞机的旋转(因此结果)从上面将是(-45,45,45)
出于数学目的,旋转不涉及点坐标,只涉及3个表示角度。
我不想使用任何外部库。
虽然不相关,但这适用于C#应用程序。
非常感谢你们的帮助和见解!
答案 0 :(得分:1)
旋转矩阵是一个很好的开始,但你也需要一个平移矩阵来使原点正确。
如果你想手动完成,你需要带旋转矩阵的线性代数。它需要一些数学技能。
基本上这个(下面)说明:将对象移动到x / y / z /的原点,应用旋转矩阵并将其放回原始位置。
我必须警告你,手工操作很难。
http://en.wikipedia.org/wiki/Translation_%28geometry%29
http://en.wikipedia.org/wiki/Rotation_matrix
我的熟人曾经说过一次:
r'j(t)= r'0(t)+Ω(t)x [rj(t) - r0(t)]