關於Unity四元數相乘先後順序的問題

2021-09-08 12:11:15 字數 790 閱讀 6331

在unity中四元數和向量相乘可以變換旋轉。四元數之間相乘類似矩陣之間相乘的效果。

矩陣相乘的順序不可互換,只有特殊條件矩陣才可互換。四元數相乘類似,今天就因為這個問題掉進坑里了,記錄一下

問題大致是,有乙個cube,它會看向左邊的板,用角軸旋轉,但我想要y軸看向它

以下**就是沒有注意相乘順序導致的結果

修改後正確結果如下

所以在處理四元數或者矩陣相乘操作時,注意順序,並且避免****=quat這樣的操作,盡量用直觀寫法

Unity 四元數API詳解

quaternion類 quaternion 四元數 用於計算unity旋轉。它們計算緊湊高效,不受萬向節鎖的困擾,並且可以很方便快速地進行球面插值。unity內部使用四元數來表示所有的旋轉。quaternion是基於複數,並不容易直觀地理解。不過你幾乎不需要訪問或修改單個四元數引數 x,y,z,w...

Unity中四元數quaternion的學習筆記

筆記來自 遊戲引擎架構 jason gregory著 第二版,4.4四元數,page144。3 3矩陣可以表示三位中的任何旋轉,但是他又三個問題。1.9個浮點型表述只有三個自由度的旋轉顯得多餘。2.矩陣乘法過於複雜對於計算機來說,我們需要運算更快的旋轉方法。3.不能平滑插值。如此,我們有quater...

unity 四元數一些理解

unity 四元數一些理解 一 兩個四元數相乘 給定兩個四元數p和q,分別代表旋轉p和q,則乘積pq表示兩個旋轉的合成 即旋轉了q之後再旋轉p 並不是用加法。二 quaternion.inverse 求逆 返回引數rotation的逆向quaternion值 crrentrotation quate...