相信大家對二維座標系應該很清楚,因為我們似乎在小學的時候就開始接觸二維座標系。二維對於我自己來說,大學畢業以來一直在做二維GIS系統,對二維座標系,地理座標系,以及地圖編碼切片等都有一定的瞭解。雖然三維座標系比二維座標系只多了一維,僅僅多了一個z軸,但複雜度卻大大提升。要知道整天面對的電腦螢幕是一個平面,顯示給使用者的最終結果也是一個二維的映像。這不僅要求開發人員有豐富的空間想象能力,並且還要即時把三維情境轉換成二維映像呈現給使用者。
二維繫統就像在一個大畫布上畫各種元素。即使一個很大情境,也很多的已有資料,在建立切片索引的時候都很簡單,原理也很容易理解。三維繫統更像一個真實的世界,在這個世界的各個位置擺放要顯示的元素。然後拿著一個攝像機穿梭在這些元素中進行拍攝,攝像機就是我們的眼睛,攝像機能拍到的東西,也就是我們的眼睛能看到的東西。
在二維中,我們在放置某個元素的時候,需要有位置資訊。位置資訊一般我們一般會用x,y表示,最常見的就是笛卡爾座標系(見)。當然二維座標系不一定非得以圖的中心為原點,xy軸的方向也可以隨意的定義。
同樣,在三維情境中,也需要使用座標來定位每一個元素。三維情境中,元素的位置就用x,y,z來確定。x,y,z三軸相互垂直,每兩個軸組成一個二維座標系。也可以說,三維空間是由三個相互垂直的二維面組成。為三維座標系,由三個相互垂直的軸組成。所以該空間上在確定唯一位置時,需要三個值才能確定。
同二維座標系一樣,三維座標系的原點位置和方向都可以自己定義,但在某個系統中必須約定一種方式,才能唯一確定。但在一般情況下,都是X軸向右為+,Y軸向上為+,但z軸就不那麼明確的,有的以向裡為+,有得向外為+。於是出現了兩種座標系,左手座標系和右手座標系。二者區分的方法從可以看出來。Ps:相信大家在高中的時學立體幾何時都做過這些動作。
就我個人來看,還是覺得右手座標系比較舒服。而且OGRE和XNA都使用的是右手座標系,一些教科書,三維底層的書和其他的系統使用了左手座標系。但使用什麼座標系和功能是否能實現、效能等沒什麼關係,只是做得一種約定。