翻译

某些应用程序转换在工作区中绘制的 (或移位) 对象。 通过调用 SetWorldTransform 函数将适当的世界空间设置为页面空间转换。 SetWorldTransform 函数接收指向包含相应值的 XFORM 结构的指针。 XFORM 的 eDx 和 eDy 成员分别指定水平和垂直转换组件。

发生 转换 时,对象中的每个点按指定量垂直、水平或两者移动。 下图显示了一个 20 到 20 单位的矩形,该矩形在从世界坐标空间复制到页面坐标空间时被 10 个单位转换为右侧。

illustration showing a rectangle in one position in the world space, and in a different position in the page space

在上图中,矩形中每个点的 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| 

(矩阵乘法规则,即一个矩阵中的行数必须与另一个矩阵中的列数相等。矩阵中的整数 1 |x y 1|是添加满足此要求的占位符。)

生成图示转换转换的 3 by-3 矩阵包含以下值。

|1  0  0| 
|0  1  0| 
|10 0  1|