📜  计算机图形窗口到视口坐标转换

📅  最后修改于: 2020-12-21 00:39:56             🧑  作者: Mango

计算机图形窗口到视口坐标转换

将对象描述传输到查看参考框架后,我们选择窗口在查看坐标中延伸,并在归一化坐标中选择视口限制。

然后将对象描述传输到标准化的设备坐标:

我们使用一种转换来执行此操作,该转换可保持对象在归一化空间中的相对位置与对象在查看坐标中的相对位置相同。

如果坐标位置在查看窗口的中心:

它将显示在视口的中心。

图显示了窗口到视口的映射。窗口中位置(xw,yw)上的点映射到关联视口中的位置(xv,yv)。

为了保持点在视口中与窗口中相同的相对位置,我们要求:

解决视口位置(xv,yv)的这些印象,我们有

xv = xv最小+(xw-xw最小)sx
yv = yv min +(yw-yw min )sy ……….方程2

比例因子在哪里

也可以通过一组将窗口或世界坐标区域转换为视口或屏幕坐标区域的转换来导出方程式(1)和方程式(2)。通过以下转换序列执行此对话:

  • 使用固定点位置(xw min ,yw min )执行缩放变换,该位置将窗口区域缩放为视口的大小。
  • 将缩放的窗口区域平移到视口的位置。如果比例因子相同(sx = sy),则将保持对象的相对比例。

根据规范化的坐标,对象描述被映射到各种显示设备。

我们可以在一个特定的应用程序中打开任意数量的输出设备,并且可以为每个打开的输出设备执行三个窗口以进行视口转换。

这种映射称为工作站变换(通过选择标准化空间中的窗口区域和显示设备坐标中的视口区域来实现)。

如图所示,工作站转换为对视图进行分区,以便可以在各种输出设备上显示标准化空间的不同部分。

以上三个转换步骤的矩阵表示:

步骤1:将视窗翻译成原点1
ŤX = -XW分钟ŤY = -yw分钟

步骤2:缩放窗口以使其大小与视口匹配
S x =(Xy max -Xv min )/(Xw max -Xw min )
S y =(Yv max -Yv min )/(Yw max -Yw min )

步骤3:再次将视口平移到屏幕上的正确位置。
T x = Xv分钟
ŤY = YV分钟

以上三个步骤可以用矩阵形式表示:
VT = T * S * T 1

T =将窗口翻译成原点

S =窗口缩放到视口大小

T 1 =在屏幕上平移视口。

观看变换= T * S * T 1

查看转换的优势:

我们可以根据需要和选择在设备或显示系统上显示图片。

注意:

  • 根据应用程序选择世界坐标系。
  • 屏幕坐标系根据设计需要选择。
  • 选择观看变换作为世界和屏幕坐标之间的桥梁。