座標系統
3D 圖形應用程式通常會擇一選用左手或右手的笛卡兒座標系統。 無論在上述哪個座標系統中,正數 x 軸都會朝右,而正數 y 軸則會朝上。
左手和右手座標系統
您可以將左手或右手手指朝向正 x 方向,並將將其捲曲以朝向正 y 方向,如此即可記住正 z 軸的方向。 拇指朝著的方向 (無論朝向您或遠離您) 就是該座標系統的正 z 軸方向。 下圖顯示這兩個座標系統。
Direct3D 會使用左手座標系統。 儘管左手和右手座標系統為最常用的系統,3D 軟體內也會使用其他各種座標系統。 舉例來說,3D 建模應用程式經常會使用 y 軸朝上或遠離檢視者,且 z 軸向上的座標系統。
頂點和向量
在座標系統中,x、y 和 z 座標可定義空間中的點 (也就是「頂點」) 或 3D 方向 (也就是「向量」)。
頂點集合可用來定義線條和形狀。 頂點可定義的最簡單物件為原始物件,而一組原始物件可定義的較複雜物件則為「網格」。
舉凡轉譯、旋轉和縮放,都是在 3D 座標系統定義的網格上執行的重要作業。 您可以結合這些基本轉換來建立轉換矩陣。 如需詳細資訊,請參閱轉換。
合併這些作業時,所產生的結果並不具交換性質;因此,用來相乘矩陣的順序相當重要。
從右手座標系統進行移植
您必須對傳遞至 Direct3D 的資料做出兩項變更,才能移植以右手座標系統為基礎的應用程式:
- 翻轉三角形頂點的順序,好讓系統能從正面進行順時針周遊。 換句話說,如果頂點為 v0、v1、v2,請以 v0、v2、v1 的形式傳遞至 Direct3D。
- 使用檢視矩陣,將世界空間朝 z 方向調整 -1。 若要進行這項操作,請翻轉用來檢視矩陣之 _31、_32、_33 和 _34 等矩陣結構成員的符號。
相關主題