文档介绍:第8章图形变换
在计算机图形系统中,经常需要对基本图形进行变换,例如:平移、旋转、放缩、对称和投影等。一幅基本的图形包含两组信息,一组是图形的几何信息,如图形的顶点坐标,另一组是图形的拓扑信息,即图形各顶点之间的关系。图形的几何变换是指图形的几何信息发生改变,而拓扑关系不变。所以,图形的几何变换只考虑图形各顶点坐标的变换。图形变换分为两种,一种是图形不变,而坐标系发生变化,另一种是坐标系不变,而图形位置和形状发生变化。后一种情况是本章讲解的重点,分为二维图形几何变换、三维几何变换和投影变换等。
坐标系和坐标变换
坐标系
对图形对象的描述、图形的输入输出,都是在一定的坐标系中进行的。常用的坐标系分为用户坐标系、设备坐标系和规格化的坐标系三种。不同的坐标系有不同的坐标原点和坐标刻度,其取值范围及适用的对象也有所不同。
在几何学中,为了用数字描述空间的物体,包括物体的大小、形状和位置,必须引进笛卡尔坐标系。用户总是习惯于在自己熟悉的坐标系中描述客体或绘制图形,这个用户定义客体的坐标系,称为用户坐标系,或称为客体坐标系。常用的用户坐标系有直角坐标系、极坐标系、对数坐标系、球形坐标系等。在图形系统中,一般只用到直角坐标系。直角坐标系又称为宇宙坐标系,可以分为二维直角坐标系合三维直角坐标系。
设备坐标系一般是二维坐标系,图形的输出在设备坐标系中进行。设备坐标系包括有:绘图仪坐标系和显示屏幕坐标系。
规格化坐标系是与设备无关的坐标系,用来构造与设备无关的图形系统。通常取无量纲的单位长度作为在规格化坐标系中图形输入输出的有效空间,x和y方向的取值范围为[0,1]。
用户坐标系、。
三种坐标系之间的关系
Y
Y
Y
Y
X
X
X
X
(Xw, Yw )
Hw
Ww
(Xlw, Ybw)
1
1
(Xn, Yn )
用户坐标系
规格化坐标系
设备坐标系
规格化变换
或者
(0,0)
窗口与视口
用户用来定义设计对象的实数域称为用户域,也称为用户空间。人们所要描述的图形均在用户域中进行定义。从理论上说,用户域是连续的、无限的。
用户域中定义的对象可能很大、很复杂,用户可以指定其中感兴趣部分区域通过屏幕显示出来,通常称这个区域为窗口。就像人们站在房间里通过窗口往外看,只能看到窗口范围内的景物,人们选择不同的窗口可以看到不同的景物。窗口区一般是矩形区域,可以用其左下角和右上角的坐标来表示。窗口可以嵌套,即在第一层窗口中可以再定义第二层窗口。在某些情况下,还可以定义圆形窗口或多边形窗口。
图形设备上用来输出图形的最大区域称为屏幕域,即显示器的显示区域,它是有限的整数域,用显示器分辨率来表示,如640X480、1024X768等。
在计算机屏幕上,一般的图形系统常常包含菜单区、工具栏、图形显示区、信息提示区等,图形只是在图形显示区显示,而不是在整个屏幕上显示。我们把任何小于或等于屏幕域的区域称为视图区。视图区由用户在屏幕域中用设备坐标定义,一般定义为矩形,由其左下角坐标和右上角坐标来定义。在一个计算机屏幕上,可以定义多个视图区,分别显示不同的图形。
坐标变换
由于窗口是在用户域中定义的,而视图定义在计算机屏幕上,如果要将用户域中窗口内的景物在计算机屏幕的视图中显示出来,就必须求出图形在窗口区和视图区之间的转换关系,这就是窗口与视图之间的坐标变换。
设矩形窗口的左下角坐标为(WXL,WYB),右上角坐标为(WXR,WYT)。在计算机屏幕上定义的视图区的左下角坐标为(VXL,VYB),右上角坐标为(VXR,VYT)。
如图8-2所示,则在窗口区内的一点(Xw,Yw)与视图区中的对应的一点(XV,YV)存在如下的转换关系: 图8-1 窗口区与视图区的对应关系