共用方式為


座標系統 (Direct3D 9)

通常 3D 圖形應用程式會使用兩種類型的笛卡兒座標系統:左手和右手。 在這兩個座標系統中,正 X 軸指向右邊,而正 y 軸會向上點。 您可以記得正 Z 軸指向哪個方向,方法是將左手或右手的手指指向正 X 方向,並將其捲曲成正 Y 方向。 拇指指向或遠離您的方向,是正 z 軸指向該座標系統的方向。 下圖顯示這兩個座標系統。

左手和右手笛卡兒座標系統的 圖例

Direct3D 使用左手座標系統。 如果您要移植以右手座標系統為基礎的應用程式,您必須對傳遞至 Direct3D 的數據進行兩項變更。

  • 翻轉三角形頂點的順序,讓系統從正面順時針周遊。 換句話說,如果頂點為 v0、v1、v2,請將它們傳遞至 Direct3D 作為 v0、v2、v1。
  • 使用檢視矩陣,透過 z 方向 -1 來調整世界空間。 若要這樣做,請翻轉您用於檢視矩陣之 D3DMATRIX 結構之 _31、_32、_33 和 _34 成員的符號。

若要取得右手世界的數量,請使用 D3DXMatrixPerspectiveRHD3DXMatrixOrthoRH 函式來定義投影轉換。 不過,請小心使用對應的 D3DXMatrixLookAtRH 函式、反轉後臉撲殺順序,並據以配置立方體地圖。

雖然左手座標和右手座標是最常見的系統,但 3D 軟體中會使用各種不同的其他座標系統。 例如,3D 模型化應用程式使用座標系統,其中 Y 軸指向或遠離查看器,而 z 軸會指向上。

正式而言,計算由特定基礎向量集合所定義的矩陣行列子,即可找到一組基礎向量的方向(亦即座標系統)。 如果行列式是積極的,則基礎據說是“積極”導向的(或右撇子)。 如果行列式是負面的,則基礎據說是「負面的」導向(或左撇子)。 如需行列子是什麼的說明,請參閱任何線性代數資源。

您可以非正式地使用「右/左手規則」來判斷指定的基礎向量集是否形成右或左手座標系統。

在 3D 座標系統中定義的物件上執行的基本作業是轉譯、旋轉和縮放。 您可以結合這些基本轉換來建立轉換矩陣。 如需詳細資訊,請參閱 轉換 (Direct3D 9)

當您合併這些作業時,結果不會進行通勤;相乘矩陣的順序很重要。

座標系統和幾何