分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
在三維變換中,經常要用到旋轉變換,而且很多變換是圍繞任意軸的。那麼下面就介紹繞任意單位軸旋轉的兩種方法。
假設要旋轉的角度是a,圍繞的軸是r。
方法一:
(1)構建新的基
尋找另外兩條單位長度的座標軸s、t,他們相互垂直,而且與r垂直。這樣r、s、t組成了一組新基。
具體求s的方法:
找到r中的最小分量,將其設定為0.然後交換其他兩個分量,接著將第乙個非零的分量取反(實際上也可以對另外乙個非零分量取反)。
要求t,只需求r、s的叉積即可。
詳細計算公式:
這樣就確保了r、s、t組成了一組正交單位基。
(2)將標準基變換到新的基。
需要通過變換使得r和x軸重合,這樣之後的旋轉就是繞x軸的普通旋轉。另外的兩個軸也相互重合。
變換矩陣由上面的r、s、t向量組成:
(3)旋轉
因為r與x重合,在新的基中我們只需圍繞x軸進行旋轉(正常情況下的旋轉)即可。
假設旋轉矩陣是rx(a)。
(4)變換回到原來的標準基。
變換矩陣應該是m的逆矩陣,由於m是正交的,因此其逆矩陣就是其轉置矩陣。
因此,最終的繞任意單位軸的變換矩陣是:
方法二
根據goldman給出的公式進行計算,這個公式有點複雜:
具體推導過程可以參考:
給我老師的人工智慧教程打call!
繞任意軸旋轉
關於最常見的繞座標軸旋轉,可以看看前一篇 幾何變換詳解。繞任意軸旋轉的情況比較複雜,主要分為兩種情況,一種是平行於座標軸的,一種是不平行於座標軸的,對於平行於座標軸的,我們首先將旋轉軸平移至與座標軸重合,然後進行旋轉,最後再平移回去。整個過程就是 對於不平行於座標軸的,可按如下方法處理。該方法實際上...
繞任意軸旋轉
繞任意軸旋轉 關於最常見的繞座標軸旋轉,可以看看前一篇 幾何變換詳解。繞任意軸旋轉的情況比較複雜,主要分為兩種情況,一種是平行於座標軸的,一種是不平行於座標軸的,對於平行於座標軸的,我們首先將旋轉軸平移至與座標軸重合,然後進行旋轉,最後再平移回去。整個過程就是 對於不平行於座標軸的,可按如下方法處理...
繞任意軸旋轉
關於最常見的繞座標軸旋轉,可以看看前一篇 幾何變換詳解。繞任意軸旋轉的情況比較複雜,主要分為兩種情況,一種是平行於座標軸的,一種是不平行於座標軸的,對於平行於座標軸的,我們首先將旋轉軸平移至與座標軸重合,然後進行旋轉,最後再平移回去。整個過程就是 對於不平行於座標軸的,可按如下方法處理。該方法實際上...