关于欧拉角heading-pitch-bank的疑问?
各位大虾好:
最近在猛补数学,手头上在看《3d数学基础:图形与游戏开发》。看完欧拉角一节后有很多疑问。
首先说两个概念:1、世界坐标通过平移转成惯性坐标 2、惯性坐标通过旋转转成物体坐标
heading绕y轴旋转,pitch绕x轴旋转,bank绕z轴旋转。
以下是疑惑:
1、书中说的heading-pitch-bank旋转是从惯性坐标转换到物体坐标,为什么不直接从物体坐标转换到惯性坐标而来个逆过程。
2、书中heading-pitch-bank的所有旋转都是对坐标系的旋转,对坐标系的旋转其实是对物体的反方向旋转。但先heading后再pitch时的旋转轴已经是经过heading旋转后的x轴,而不是以前的惯性坐标下的x轴。这里我就一直觉得此时对物体反转(pitch反方向)是绕以前惯性坐标下的x轴。这里本人很迷惑。
3、通过heading-pitch-bank后计算出惯性到物体坐标的转换矩阵M1, 及M1的逆矩阵(物体坐标到惯性坐标的转换矩阵)M2.本人重写了DX的D3DXMatrixRotationYawPitchRoll函数,使用的是M2矩阵,也即是先旋转z再旋转x最后旋转y,这个顺序不是同函数名的旋转顺序相反了吗?但如果按惯性坐标来旋转也确实是以相反的旋转顺序来旋转(zxy),若按物体本身的物体坐标来旋转就是yxz。
不知到底该如何理解才最好!
本人对欧拉角旋转确实很迷惑,希望大家多多指教一下。
谢谢!