摘要: 簡單地來說,四元數(shù)描述了一次旋轉(zhuǎn):繞任意一個軸旋轉(zhuǎn)一個角度。四元數(shù)的定義形式:(w, x, y, z)。假如,繞軸向量v(_x,_y,_z)正向(右手旋轉(zhuǎn)法則)旋轉(zhuǎn)角度p,則對應(yīng)得四元數(shù)q為:
q = (cos(p/2), sin(p/2) * _x, sin(p/2) * _y, sin(p/2) * _z)
用四元數(shù)來表示旋轉(zhuǎn),不如用歐拉角(偏航/yaw,俯仰/pitch,橫滾/ roll)來表示直接,但是用歐拉角來處理旋轉(zhuǎn)有個不可回避的問題:萬向節(jié)死鎖。我們可以通過將歐拉角轉(zhuǎn)換到四元數(shù)來避免這個問題。在DirectX中提供了從歐拉角到四元數(shù),從四元數(shù)到矩陣(Direct3D用旋轉(zhuǎn)來實現(xiàn)旋轉(zhuǎn))的變換函數(shù)。
閱讀全文