提取碼:hiuc
3. 旋轉變換的組合
4.仿射變換的轉換
總結
左手座標系和右手座標系之間的差異就是某乙個座標軸的方向取反,上圖中是x軸取反。
和**原文保持一致,我們以x軸取反為例分析,如何從左手座標系轉換到右手座標系。其他的情況可以據此類推。
可以從圖中看出,同乙個小黑點,在左手座標系中的座標是(x,y,z)
,在右手座標系中的座標就是(x,y,-z)
。
圖中顯示了左手座標系中的點有乙個正的z分量。在右手座標系中,觀察z分量必須為負。在矩陣向量形式中,從左手點q』到右手點qr的轉換是
注意啦 又要划重點啦!上面的s_z矩陣具體計算如下所示:此處座標點使用的是列向量,列向量左乘在矩陣之後。行向量左乘矩陣、列向量有乘矩陣存在如下區別:
at=b
==>t'a'=b'
(其中
a
和b
是點座標組成的行向量,a'
和b'
則是轉置後所得列向量,t
是矩陣)
所以,點座標從左手座標系轉化到右手座標系中,只需要對xyz中某乙個分量取反。例如將z軸取反。
首先,講一下heading(航向)是啥。繞y軸的旋轉就是heading。
如果旋轉h角度,對應的旋轉矩陣如下,該矩陣在位姿控制領域也可以叫航向矩陣:
劃重點啦首先,此處的矩陣是在左手座標系中!! 有可能你會發現這個矩陣為啥和有的地方的講的是轉置的關係。
這就是行向量左乘矩陣、列向量右乘矩陣存在如下區別:
at=b
==>t'a'=b'
造成的差異結論就是:上述矩陣是①左手座標系中列向量右乘時使用,表示繞y軸旋轉h度,也可以是②右手座標系中行向量左乘時使用,表示繞y軸旋轉h度。
劃重點引入航向pitch矩陣作為一種儲存旋轉座標方向的簡便方法。當然,此處使用的是①。本文所有的講解都是以左手座標系為主、以列向量右乘為要求。
該矩陣具有雙重功能,因為它還可用於顯示原始座標系中的點(x;y;z)如何旋轉到點(x0;y0;z0)。如下所示,
在左手座標系中,上述等式可以表示為:
當把點q_l(x,y,z)
和點q'_l(x', y', z')
都轉化到右手座標系中時,點的座標變成了q_r(x,y,-z)
和q'_r(x',y',-z')
,那麼原本的航向矩陣h_l
已經無法使得原等式成立。下面重新推導計算的等式:
結論:相對於左手座標系,右手座標系中的航向矩陣轉化為:h_r = s_z h_l s_z
有了heading矩陣轉換的講解,此處直接貼上**,不做中文講解。
同乙個物體在左手座標系中描述(位姿描述=位置+姿態)是一種形式,換到右手座標系中描述又是另一種形式。
位置描述的變換是相對簡單的,只需要將某乙個座標軸的值取反,也就是與s_z
矩陣作用。
姿態描述的變換則需要結合位置描述,原本左手系中描述姿態的旋轉矩陣為r_l
,轉換到右手系中,則為s_z ·r_l·s_z
。
左手 右手座標系
最近在學習three.js,因為之前自己基本上算是沒有接觸過計算機圖形學,所以還是有很多的基礎知識需要學習的,剛好看到使用了右手座標系的內容,記憶有點模糊,就寫一篇記載下來。解析幾何為了溝通空間圖形與數的研究,需要建立空間的點與有序陣列之間的聯絡,為此我們通過引進空間直角座標系來實現。在空間直角座標...
左手座標系和右手座標系
今天記錄一下一些基本的數學知識,左手座標系和右手座標系。這些對於搞影象開發或者遊戲開發的朋友來說,應該是很基礎的東西,不過對於大部分人來說還是比較陌生的知識。之所以看這方面資料主要是因為在使用android camera使用matrix的過程中,發現需要一些數學理論支援才能理解。這是為了後面使用an...
左手座標系和右手座標系
左手座標系 伸出左手,讓拇指和食指成 l 形,大拇指向右,食指向上。其餘的手指指向前方。這樣就建立了乙個左手座標系。拇指 食指和其餘手指分別代表x,y,z軸的正方向。判斷方法 在空間直角座標系中,讓左手拇指指向x軸的正方向,食指指向y軸的正方向,如果中指能指向z軸的正方向,則稱這個座標係為左手直角座...