概述
全域性座標系是三維空間物體所在的座標系,模型的頂點座標就是基於這個座標系來表達的。而區域性座標系是乙個假想的座標系,該座標系與物體的相對位置至始至終是不變的,假想出這個座標系的目的主要是為了正向理解對三維場景中物體執行的「平移和旋轉」操作。使用區域性座標系理解模型變換時,所有的變換操作直接作用與區域性座標系,由於區域性座標系與物體的相對位置不對,因此,當對區域性座標系進行「平移」、「旋轉」和「縮放」時,物體在場景中位置和形狀也會發生相應的變化。
幾點注意
(1)「全域性座標系」和「區域性座標系」是兩種理解模型變換的手段。
(2)當存在「縮放」變換時,應採用「全域性座標系」「反向」閱讀**來理解。如果存在縮放變換,尤其當縮放不均勻時,採用「區域性座標系」來理解可能產生問題。經過不均勻的縮放後,座標系被拉伸,因此平移頂點時,沿各個軸移動的距離將增大(縮小)相應的縮放倍數。如果進行不均勻縮放的同時進行了旋轉變換,區域性座標系各個軸可能將不再相互垂直。
(3)對於多次交換使用「平移」和「縮放」操作的情況,宜用「區域性座標系」「正向」閱讀**來理解。
(4)對於像樹形結構的物體,如機械人,太陽系,紅寶書的建議是從「區域性座標系」來看。
使用全域性座標系為什麼要用「反向」閱讀**的方式來理解?
先看看下面這段**:
1void
draw()2
r為 glrotatef(45.0f,0.0,0.0,1.0) 產生的矩陣。
t為 gltranslatef(2.0,2.0,2.0) 產生的矩陣。
e為單位陣, m為經過旋轉平移之後的視點模型變換矩陣。
m=e*r*t 【這是乙個矩陣右乘操作】
理論上來講 這就是乙個座標系的變換過程,r*t 這個矩陣其實就是將原先的座標系變換到現在的座標系,這個時候原先座標系的點p將變換成q。
q=(r*t)*p 【t和p先進行乘法得到乙個中間向量,r再和這個向量做乘法,最後算的q向量】
而按照全域性座標系的理解,它的變換過程則是相反的,這也是相當的好理解的.在當前世界座標系中畫好該物體之後,要想將它移動到正確的位置,必須得先平移物體到[2.0,2.0,2.0],然後將物體繞z軸旋轉45度。這是乙個相反的變換過程。
OpenCV區域性座標系和世界座標系轉換
本文實現區域性座標系和世界座標系的轉換。假設機器在p1處在世界座標系下的位姿為 x,y,z,1,1,0,0 p1 和p2之間的轉換 區域性座標系 為t12表示為 1,1,0,45 求p2處世界座標系下的位姿 x,y,z,結果為 2,2,0,45 程式如下 include includeusing n...
大地座標系 地理座標系 投影座標系
大地座標系 是大地測量中以參考橢球面為基準面建立起來的座標系。地面點的位置用 大地經度 大地緯度和大地高度 表示。大地座標系的確立包括選擇乙個橢球 對橢球進行定位和確定大地起算資料。乙個形狀 大小和定位 定向都已確定的地球橢球叫參考橢球。參考橢球一旦確定,則標誌著大地座標系已經建立。大地座標系是一種...
左手座標系和右手座標系
今天記錄一下一些基本的數學知識,左手座標系和右手座標系。這些對於搞影象開發或者遊戲開發的朋友來說,應該是很基礎的東西,不過對於大部分人來說還是比較陌生的知識。之所以看這方面資料主要是因為在使用android camera使用matrix的過程中,發現需要一些數學理論支援才能理解。這是為了後面使用an...