爲何咱們須要多個座標系統呢?任何一個座標系統都是無限的,包括了空間中的全部點。因此,咱們用任意一個座標系統,而後規定它是「世界空間」,而後全部的點位置均可以用這個座標系統來描述了。難道就不能更簡單點了麼?實踐證實的答案是不能。不少人發如今不一樣的場景下使用不一樣的座標系統更方便。spa
使用多個座標系統的緣由是,在一個特定的場景上下文中,能夠擁有一份肯定的信息。也許整個世界上的全部點均可以在一個座標系裏表示,然而,對於一個肯定的頂點a,咱們可能不知道它在世界座標中的位置,可是咱們可能能夠明確它在相對於某些座標系統中的位置。圖片
好比,有兩個相鄰的城市A,B。A城市聰明的居民們在代價公認的一個城市的中心創建了座標原點,而後用羅盤所指的方向來做爲座標軸,而B城市的居民可能在他們的城市中一個任意的位置創建了座標原點,而後然座標軸的方向在一個任意的方向,兩座城市的居民都以爲他們各自的座標系統十分便利。然而,這時候有一名工程師被分配了一個任務,要求他在兩個城市之間創建第一條公路,並且須要一個地圖來清楚地看兩個城市以及城市間的全部細節。所以引入了更爲便利的第三座標系,這個座標系對於兩座城市的居民沒有任何影響。兩座城市中各自的座標點都須要從本地座標轉換成新的座標系的座標來繪製新地圖。擴展
在今天開明的時代,咱們習慣於在媒體上聽到文化相對主義,這促令人們認爲,認爲一個文化或信仰系統或國家議程優於另外一個文化或信仰系統是不正確的。 將想象力擴展到咱們所謂的「轉換相對主義」並非太大的飛躍,即沒有地方或方向或座標系統被認爲優於其餘方面的論點。 在某種意義上,這是真的,喬治·奧威爾解釋:「全部的座標系統被認爲是平等的,但有些是比別人更平等」。如今讓咱們看看一些在3D圖形中常見的座標系統。渲染
不一樣的座標系統都是有必要的,由於只有在一些特殊的場景下這些信息纔是有意義和可使用的。在這一節,將會有一些公共座標系的例子。model
世界座標系(World space)im
做者寫這本書的時候在芝加哥。有一個肯定的經緯度,這個經緯度是絕對的,因此,你並不須要知道芝加哥在哪裏,不須要芝加哥在美國,由於這個經緯度是絕對的。在這個世界上,人們規定經度是0的地方在格林尼治天文臺,緯度爲0的地方在赤道。技術
(有一些好奇的讀者可能意識到這個經緯度的座標系並非笛卡爾座標系了,這是一種其餘的座標系,可是對於此次咱們討論的話題沒有什麼影響,咱們生活在一個二維的平面上,就是地球的表面,只不過這個平面是包裹在一個球的外層的。)地圖
世界座標系是一個特殊的座標系,它創建了一個全局的場景,有了這個全局的座標系,其餘的座標系統就能夠被確立了。換句話說,咱們能夠把在其餘座標系中的點轉成世界座標系來表示。可是咱們不能用更大的座標系來表示和包括世界座標系了。img
在非技術的角度來看,世界座標系是創建一個咱們關心的最大的座標系統,但不少狀況下這並非整個世界,舉個例子,若是咱們但願渲染一個笛卡爾座標系中的一個畫面,咱們會真實用到的笛卡爾座標系就是「世界」,咱們不必關心這個世界座標系被定位在哪裏,甚至它是否存在於真實的世界中。移動
咱們以前說了世界座標系是用來描述點的絕對座標的。但願你聽到這樣的說法的時候耳朵有些刺痛,由於你知道這不徹底是真理。咱們這裏說的絕對座標是指的在這個咱們剛定義的最大的座標系統中的座標,而不是在真實的世界中的座標。就好比以前所說的,你可能知道你如今的位置的經緯度,可是放眼整個宇宙,假設把世界座標系的原點放在整個銀河系的中心的時候,怕是沒有人能說出來本身的確切位置了。
世界座標系在不少時候也被叫做全局座標系和宇宙座標系。
物體座標系(Object spce)
物體座標系是關聯了一個指定的物體,每個物體都有一個獨立的物體座標系。當一個物體移動旋轉改變了它的朝向,那麼與這個物體關聯的物體座標系也隨之改變了,也一塊兒改變了朝向。好比,咱們都帶着本身的座標系統,若是咱們對你說「向前走一步」,咱們給了你一個相對於你本身的物體座標系的指令(請原諒咱們把你說成是一個物體,其實你知道咱們想表述的意思的)。咱們沒辦法描述你要移動的絕對方向,你可能會向北移動,也可能向南移動,這些「向前」,「向後」,「向左」,「向右」對於一個物體座標系是有意義的。當你駕車的時候,有的人給你一些指示,有時候告訴你「向左轉」,還有的時候告訴你「向東走」。「向左走」是對於一個物體座標系的,而「向東走」呢,是對於世界座標系來講的。
位置和方向在物體座標系也是能夠被明確的。好比,當我問你你車上的杯子在哪裏,你不會說在芝加哥,甚至不會說在哪條街道,在這種狀況下,若是回答是一個相對於全局的位置是沒有意義的,我固然但願的是你能說清楚你的杯子位於你的車的物體座標系的哪裏。
在圖形學中,物體座標系又被稱做模型座標系(model space),由於模型的頂點都是在這個模型座標系中表示的。物體座標系也被普遍用於物理中,好比,用身體的中軸線來當座標軸。
相機座標系(Camera Space)
有一個比較特殊的物體座標系就是相機座標系,這個座標系是咱們的視點用來渲染看到的場景所用的座標系。在相機座標系中,相機一直處於相機座標系的原點,+x的方向是向右的,+z的方向是向前的(向屏幕裏的方向,由於使用的是左手座標系),+y的方向是向上。這裏的像上不是世界座標的正上,而是一個相機的上方向。能夠來看一下這個相機座標系的圖片。
這裏要注意一些細節,相機的座標是三維空間,而咱們在屏幕上看到的是二維的。由於咱們是作了一個映射,把三維空間的東西映射到了一個二維的平面上,這個映射就是你們知道的「投影」了。