繁体   English   中英

如何绕对象自身的轴旋转?

[英]How to Rotate an object about its own axis?

我在解决如何解决问题时遇到问题。

我的问题涉及获取对象角度的3D表示,然后在该对象自身轴上对该对象施加旋转。

例如,具有以下特征的飞机:

  • 标题45(东北)
  • 音高45(鼻子向上)
  • 银行45(左岸)

它将绕其自身的偏航轴旋转-90度,然后大致旋转:

  • 约〜-9.8(北向西北)
  • 俯仰-30(下鼻)
  • 银行54.5(左岸)

(根据使用另一个程序使飞机完全成为自己的孩子并旋转90度,然后尝试匹配方向的纯估计值而计算出来的……)

谁能解释这种旋转的计算方式? 甚至为我指出学习方法的正确路径?

我尝试将基本旋转矩阵应用于角度(用于绕原点旋转点),但它仅相对于基本x / y / z轴旋转,而不相对于飞机的旋转(因此,从上方得出的结果会是(-45,45,45)

出于数学目的,旋转不涉及点坐标,仅涉及3个表示角度。

我宁愿不使用任何外部库。

尽管无关紧要,但这将适用于C#应用程序。

非常感谢您的帮助和见解!

旋转矩阵是一个不错的开始,但是您还需要一个平移矩阵才能正确确定原点。

如果您想手工制作,则需要带有旋转矩阵的线性代数。 它需要一些数学技能。

基本上,该状态(如下)指出:将对象移动到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)]

http://en.wikipedia.org/wiki/Euler%27s_rotation_theorem

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM