翻譯
某些應用程式會轉譯 (或移位在工作區中繪製) 物件。 藉由呼叫 SetWorldTransform 函式,將適當的世界空間設定為頁面空間轉換。 SetWorldTransform 函式會接收 XFORM 結構的指標,其中包含適當的值。 XFORM 的 eDx 和 eDy 成員分別指定水準和垂直轉譯元件。
發生 轉譯 時,物件中的每個點都會以指定的數量垂直、水準或兩者移動。 下圖顯示從全局座標空間複製到頁面座標空間時,從全局座標空間轉譯為右邊 10 單位的 20 單位矩形。
在上圖中,矩形中每個點的 X 座標大於原始 X 座標的 10 個單位。
水準轉譯可由下列演算法表示。
x' = x + Dx
其中 x' 是新的 x 座標,x 是原始 x 座標,而 Dx 是移動的水準距離。
垂直轉譯可由下列演算法表示。
y' = y + Dy
其中 y' 是新的 y 座標,y 是原始的 Y 座標,而 Dy 則是移動的垂直距離。
水準和垂直轉譯轉換可以使用 3-by-3 矩陣合併成單一作業。
|1 0 0|
|x' y' 1| = |x y 1| * |0 1 0|
|Dx Dy 1|
(矩陣乘法的規則表示一個矩陣中的資料列數目必須等於另一個矩陣中的資料行數目。矩陣 |x y 1| 中的整數 1|是已新增以符合此需求的預留位置。)
產生說明翻譯轉換的 3-by-3 矩陣包含下列值。
|1 0 0|
|0 1 0|
|10 0 1|