译本
某些应用程序转换在工作区中绘制的(或 Shift)对象。 通过调用 SetWorldTransform 函数将适当的世界空间设置为页空间转换。 SetWorldTransform 函数接收指向包含相应值的 XFORM 结构的指针。 XFORM 的 eDx 和 eDy 成员分别指定水平和垂直转换组件。
当 转换 发生时,对象中的每个点都会按指定量垂直、水平或两者移动。 下图显示了一个 20 到 20 个单位的矩形,从世界坐标空间复制到页面坐标空间时,该矩形被 10 个单位转换为右侧。
在上图中,矩形中每个点的 x 坐标大于原始 x 坐标的 10 个单位。
水平转换可以由以下算法表示。
x' = x + Dx
其中 x' 是新的 x 坐标,x 是原始 x 坐标,Dx 是水平距离移动。
垂直转换可以由以下算法表示。
y' = y + Dy
其中 y' 是新的 y 坐标,y 是原始 y 坐标,Dy 是垂直距离移动。
水平转换和垂直转换可以使用 3 到 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|