扩展

大多数 CAD 和绘图应用程序都提供缩放用户创建的输出的功能。 包含缩放 (或缩放) 功能的应用程序调用 SetWorldTransform 函数,以将适当的世界空间设置为页面空间转换。 此函数接收指向包含相应值的 XFORM 结构的指针。 XFORM 的 eM11 和 eM22 成员分别指定水平缩放组件和垂直缩放组件。

发生 缩放 时,构成对象的垂直线和水平线 (或矢量) 将相对于 x 轴或 y 轴进行拉伸或压缩。 下图显示了一个 20 x 20 单位的矩形,当从世界坐标空间复制到页面坐标空间时,垂直缩放到其原始高度的两倍。

插图显示世界空间中的小矩形和页面空间中较高的矩形

在上图中,定义原始矩形侧边的垂直线为 20 个单位,而定义缩放矩形边的垂直线的度量单位为 40 个单位。

垂直缩放可以通过以下算法表示。

y' = y * Dy 

其中 y' 是新长度,y 是原始长度,Dy 是垂直缩放因子。

水平缩放可由以下算法表示。

x' = x * Dx 

其中 x' 是新长度,x 是原始长度,Dx 是水平缩放因子。

垂直缩放转换和水平缩放转换可以使用 2 乘以矩阵组合成单个操作。

|x' y'|  =  |Dx   0|  *  |x y| 
            |0   Dy| 

生成缩放转换的 2 乘 2 矩阵包含以下值。

|1    0| 
|0    2|