剪切
某些应用程序提供剪切在工作区中绘制的对象的功能。 使用剪切功能的应用程序使用 SetWorldTransform 函数将世界空间中的相应值设置为页面空间转换。 此函数接收指向包含相应值的 XFORM 结构的指针。 XFORM 的 eM12 和 eM21 成员分别指定水平和垂直比例常量。
剪切转换有两个组成部分。 第一个更改对象中的垂直线;第二个更改水平线。 下图显示了从世界空间复制到页面空间时水平剪切的 20 到 20 单位矩形。
水平剪切可以由以下算法表示:
x' = x + (Sx * y)
其中 x 是原始 x 坐标,Sx 是比例常量,x' 是剪切转换的结果。
垂直剪切可以由以下算法表示:
y' = y + (Sy * x)
其中 y 是原始 y 坐标,Sy 是比例常量,y' 是剪切转换的结果。
水平剪切和垂直剪切转换可以使用 2 到 2 矩阵组合成单个作。
|x' y'| == |x y| * | 1 Sx|
| Sy 1|
生成剪切的 2 乘 2 矩阵包含以下值:
|1 1|
|0 1|