翻译
某些应用程序转换 (或移位) 在工作区中绘制的对象。 调用 SetWorldTransform 函数,将相应的 world-space 设置为 page-space 转换。 SetWorldTransform 函数接收指向包含相应值的 XFORM 结构的指针。 XFORM 的 eDx 和 eDy 成员分别指定水平和垂直平移组件。
发生 平移 时,对象中的每个点将按指定的量垂直移动、水平移动或同时移动两者。 下图显示了一个 20 x 20 单位的矩形,当从世界坐标空间复制到页面坐标空间时,该矩形由 10 个单位向右转换。
在上图中,矩形中每个点的 x 坐标比原始 x 坐标大 10 个单位。
水平平移可由以下算法表示。
x' = x + Dx
其中 x' 是新的 x 坐标,x 是原始 x 坐标,Dx 是移动的水平距离。
垂直转换可以通过以下算法表示。
y' = y + Dy
其中 y' 是新的 y 坐标,y 是原始 y 坐标,Dy 是移动的垂直距离。
水平转换和垂直转换可以使用 3 乘以矩阵组合成单个运算。
|1 0 0|
|x' y' 1| = |x y 1| * |0 1 0|
|Dx Dy 1|
(矩阵乘法规则指出,一个矩阵中的行数必须等于另一个矩阵中的列数。矩阵中的整数 1 |x y 1|是为满足此要求而添加的占位符。)
生成图示转换的 3 乘 3 矩阵包含以下值。
|1 0 0|
|0 1 0|
|10 0 1|