座標系統

3D 圖形應用程式通常會擇一選用左手或右手的笛卡兒座標系統。 無論在上述哪個座標系統中,正數 x 軸都會朝右,而正數 y 軸則會朝上。

左手和右手座標系統

您可以將左手或右手手指朝向正 x 方向,並將將其捲曲以朝向正 y 方向,如此即可記住正 z 軸的方向。 拇指朝著的方向 (無論朝向您或遠離您) 就是該座標系統的正 z 軸方向。 下圖顯示這兩個座標系統。

illustration of the left-handed and right-handed cartesian coordinate systems

Direct3D 會使用左手座標系統。 儘管左手和右手座標系統為最常用的系統,3D 軟體內也會使用其他各種座標系統。 舉例來說,3D 建模應用程式經常會使用 y 軸朝上或遠離檢視者,且 z 軸向上的座標系統。

頂點和向量

在座標系統中,x、y 和 z 座標可定義空間中的點 (也就是「頂點」) 或 3D 方向 (也就是「向量」)。

頂點集合可用來定義線條和形狀。 頂點可定義的最簡單物件為原始物件,而一組原始物件可定義的較複雜物件則為「網格」。

舉凡轉譯、旋轉和縮放,都是在 3D 座標系統定義的網格上執行的重要作業。 您可以結合這些基本轉換來建立轉換矩陣。 如需詳細資訊,請參閱轉換

合併這些作業時,所產生的結果並不具交換性質;因此,用來相乘矩陣的順序相當重要。

從右手座標系統進行移植

您必須對傳遞至 Direct3D 的資料做出兩項變更,才能移植以右手座標系統為基礎的應用程式:

  • 翻轉三角形頂點的順序,好讓系統能從正面進行順時針周遊。 換句話說,如果頂點為 v0、v1、v2,請以 v0、v2、v1 的形式傳遞至 Direct3D。
  • 使用檢視矩陣,將世界空間朝 z 方向調整 -1。 若要進行這項操作,請翻轉用來檢視矩陣之 _31、_32、_33 和 _34 等矩陣結構成員的符號。

座標系統與幾何