坐标空间转换

坐标空间 是基于笛卡尔坐标系的平面空间。 此系统提供指定平面上每个点的位置的方法。 它需要两个垂直轴,长度相等。 下图显示了坐标空间。

坐标空间的 插图,其中显示了原点、轴以及每个轴的最大值和最小值

系统支持四个坐标空间,如下表所述。

坐标空间 描述
世界 可以选择用作图形转换的起始坐标空间。 它允许缩放、转换、旋转、剪切和反射。 世界空间测量2^32单位高2^32单位宽。
用作世界空间后的下一个空间,或用作图形转换的起始空间。 它设置映射模式。 页面空间还测量 2^32 单位高 2^32 单位宽。
装置 用作页面空间后的下一个空格。 它仅允许翻译,这可确保设备空间的来源映射到物理设备空间中的适当位置。 设备空间测量 2^27 单位高,宽度为 2^27 单位。
物理设备 图形转换的最终(输出)空间。 它通常指应用程序窗口的工作区;但是,它还可以包括整个桌面、完整的窗口(包括框架、标题栏和菜单栏),或者打印机或绘图纸的页面,具体取决于获取设备上下文句柄的函数。 物理设备尺寸因显示、打印机或绘图器技术设置的尺寸而异。

 

页面空间适用于设备空间,为应用程序提供独立于设备的单位,例如毫米和英寸。 本概述将世界空间和页面空间都称为逻辑空间。

为了描述物理设备上的输出,系统使用转换将矩形区域从一个坐标空间复制到下一个坐标空间,直到输出完全出现在物理设备上。 如果应用程序调用了 setWorldTransform函数,则映射将在应用程序的世界空间中开始;否则,映射在页空间中发生。 当系统将矩形区域中的每个点从一个空间复制到另一个空间中时,它会应用一种称为转换的算法。 转换 更改从一个坐标空间复制到另一个坐标空间的对象的大小、方向和形状。 尽管转换对整个对象产生影响,但它应用于对象中的每个点或每一行。

下图显示了使用 SetWorldTransform 函数执行的典型转换。

显示矩形在世界空间、页面空间、设备空间和设备插图