這裏有一點幫助。我從硬件陀螺儀接收每個軸1圈,總共3軸(x,y,z)旋轉3圈。當我使用基於矩陣的旋轉時,我可能會因爲乘法順序(RotX * RotY * RotZ <> RotY * RotX * RotZ)而產生奇怪的旋轉,我也嘗試了MatrixYawPitchRoll,但是出現了相同的效果。因此我得出結論,我應該使用四元數,但是我認爲我必須創建3個四元數,每次旋轉一個,但是當我將它們與乘法相結合時,我會得到與基於矩陣的旋轉相同的效果......所以,有人可以告訴我如何正確使用3次旋轉來創建和組合四元數,而不會出現以前的乘法效應?四元數三軸旋轉
P.S. D3DXQuaternionRotationYawPitchRoll仍然會受到與基於矩陣旋轉相同的效果。
的問題,你的經驗被稱爲[萬向鎖(http://en.wikipedia.org/wiki/Gimbal_lock)。鏈接的維基百科頁面給出瞭如何使用四元數解決問題的詳細信息(我想DX中的函數首先將它們轉換爲矩陣,這會使四元數的屬性無效)。 – didierc 2013-03-16 01:52:15
謝謝didierc您的評論我已經使用這些轉換...而據我瞭解,我認爲D3DX的準備功能只是這些包裝.. – ribben 2013-03-16 02:17:47
@ribben:你在說什麼這些「乘法效應」關於? – 2013-03-16 02:48:46