我們在進行旋轉矩陣推導的時候應該要明白什麼是左手座標系和右手座標系,要知道如何判斷座標系的方向。
左手座標系:以左手大拇指為x軸正方向,食指為y軸正方向,此時大拇指和食指成乙個八字形,然後加入中指,這個時候三個手指互相垂直,中指指的方向為z軸正方向。
具體的圖示如下:
右手座標系:以以右手大拇指為x軸正方向,食指為y軸正方向,此時大拇指和食指成乙個八字形,然後加入中指,這個時候三個手指互相垂直,中指指的方向為z軸正方向。
具體圖示如下:
弄清楚了左右手座標系,我們還要知道旋轉的正方向是以逆時針為正方向的。
三維空間旋轉,可以簡單理解為,繞哪個軸旋轉,哪個軸的值不變,然後將其轉換為二維平面上的向量進行計算即可。
我們定義乙個三維空間中的點p(x,y,z),然後這個點在xoy平面上的投影點為m(x,y,0),在xoz平面上的投影為點n(x,0,z),在yoz平面上的投影為點q(0, y,z)。這個座標係為右手座標系。(圖是網上摘錄的,有錯誤,以描述的為準。)
以空間點p(x,y,z)在xoy平面上的投影為例,求取繞z軸旋轉的旋轉矩陣,繞x軸與繞y軸旋轉的與繞z軸的同理。
繞z軸的投影如下圖所示,旋轉以逆時針為正方向旋轉。
旋轉前點p(x,y,z),旋轉後點p』(x』,y』,z』),旋轉前點m(x,y),旋轉後點m(x』,y』);
旋轉對應公式如下:
剩下的推導是手寫的,因為軟體打公式有些麻煩,還請大家見諒。
繞其他軸旋轉的推導過程跟繞z軸一樣,這裡不再細推了。
最後如果要是以z->y->x的順序進行旋轉,則最後的旋轉矩陣應該為
r = rxryrz這個順序相乘,如果是x->y->z的順序進行旋轉,最後的旋轉矩陣應該為r= rzryrx這個順序相乘,因為矩陣是依次左乘的。
三維旋轉矩陣的計算
在三維空間中,旋轉變換是最基本的變換型別之一,有多種描述方式,如euler角 旋轉矩陣 旋轉軸 旋轉角度 四元數等。本文將介紹各種描述方式以及它們之間的轉換。1.旋轉矩陣 用乙個3階正交矩陣來表示旋轉變換,是一種最常用的表示方法。容易證明,3階正交陣的自由度為3。注意,它的行列式必須等於1,當等於 ...
DirectX三維空間旋轉矩陣原理
三維空間的旋轉分開來看其實就是二維空間的旋轉,對於二維空間的旋轉各位同學大家高中應該都學過,這裡簡單推導一下,由於我不會製作這種圖,隨便在網上找了一下圖,意思到了就可以,我們假設一線段從如下圖所標示的x 軸旋轉到ov線段,也就是從原來的與x軸夾角為 變為 再假設 這裡我們採用極座標系思想,假設線段長...
三維旋轉矩陣 旋轉之一 複數與2D旋轉
先複習一下複數 複數可以看做 這組基 basis 的線性組合 linear combination 所以可以用向量來表示複數。當然也就可以用復平面上的點來表示複數 複數的乘法 可以把它看做乙個矩陣和乙個向量相乘 所以複數也可以看成矩陣 把 也換成對應的矩陣 這也足以證明複數看成矩陣是正確的,所以複數...