计算机图形学-5.1二维变换.ppt

上传人:zf 文档编号:11909026 上传时间:2023-04-10 格式:PPT 页数:62 大小:4.22MB
下载 相关 举报
计算机图形学-5.1二维变换.ppt_第1页
第1页 / 共62页
计算机图形学-5.1二维变换.ppt_第2页
第2页 / 共62页
计算机图形学-5.1二维变换.ppt_第3页
第3页 / 共62页
计算机图形学-5.1二维变换.ppt_第4页
第4页 / 共62页
计算机图形学-5.1二维变换.ppt_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

计算机图形学-5.1二维变换.ppt

《计算机图形学-5.1二维变换.ppt》由会员分享,可在线阅读,更多相关《计算机图形学-5.1二维变换.ppt(62页珍藏版)》请在冰豆网上搜索。

计算机图形学-5.1二维变换.ppt

第五章,二维变换和裁剪,齐次坐标二维图形基本几何变换矩阵Cohen-Sutherland直线裁剪算法,本章学习目标,本章内容,5.1图形几何变换基础5.2二维图形基本几何变换矩阵5.3二维复合变换5.4二维图形裁剪5.5Cohen-Sutherland直线裁剪算法,5.1图形几何变换基础,通过对图形进行几何变换,可以由简单图形构造复杂图形。

图形几何变换是对图形进行平移变换、比例变换、旋转变换、反射变换和错切变换。

图形几何变换可以分为二维图形几何变换和三维图形几何变换,而二维图形几何变换是三维图形几何变换的基础。

5.1图形几何变换基础,5.1.1规范化齐次坐标5.1.2矩阵相乘5.1.3二维变换矩阵5.1.4二维几何变换,5.1.1规范化齐次坐标,为了使图形几何变换表达为图形顶点集合矩阵与某一变换矩阵相乘的问题,引入了规范化齐次坐标。

所谓齐次坐标就是用n1维矢量表示n维矢量。

例如,在二维平面中,点P(x,y)的齐次坐标表示为(wx,wy,w)。

类似地,在三维空间中,点P(x,y,z)的齐次坐标表示为(wx,wy,wz,w)。

这里,w为任一不为0的比例系数,如果w1就是规范化的齐次坐标。

二维点P(x,y)的规范化齐次坐标为x,y,1,三维点P(x,y,z)的规范化齐次坐标为x,y,z,1。

不能写成下标形式,w和x,w和y,w和z是乘法的关系。

定义了规范化齐次坐标以后,图形几何变换可以表示为图形顶点集合的规范化齐次坐标矩阵与某一变换矩阵相乘的形式。

二维图形顶点表示为规范化齐次坐标后,其图形顶点集合矩阵一般为n3的矩阵,其中n为顶点数,变换矩阵为33的矩阵。

在进行图形几何变换时需要用到线性代数里的矩阵相乘运算。

例如,对于n3的矩阵A和33的矩阵B,矩阵相乘公式为:

5.1.2矩阵相乘,(5-1),由线性代数知道,矩阵乘法不满足交换律,只有左矩阵的列数等于右矩阵的行数时,两个矩阵才可以相乘。

特别地,对于二维变换的两个33的方阵A和B,矩阵相乘公式为:

类似地,可以处理三维变换的两个44的矩阵相乘问题,5.1.3二维变换矩阵,用规范化齐次坐标表示的二维基本几何变换矩阵是一个33的方阵,简称为二维变换矩阵。

从功能上可以把二维变换矩阵T分为4个子矩阵。

其中,是对图形进行比例、旋转、反射和错切变换;,是对图形进行平移变换;,是对图形进行投影变换;,是对图形进行整体比例变换。

(5-2),二维几何变换的基本方法是把变换矩阵作为一个算子,作用到变换前的图形顶点集合的规范化齐次坐标矩阵上,得到变换后新的图形顶点集合的规范化齐次坐标矩阵。

连接变换后的新图形顶点,就可以绘制出变换后的二维图形,5.1.4二维几何变换,设变换前图形顶点集合的规范化齐次坐标矩阵为:

变换后图形顶点集合的规范化齐次坐标矩阵为:

二维变换矩阵为:

则二维几何变换公式为,可以写成:

5.2二维图形基本几何变换矩阵,5.2.1平移变换矩阵5.2.2比例变换矩阵5.2.3旋转变换矩阵5.2.4反射变换矩阵5.2.5错切变换矩阵,5.2二维图形基本几何变换矩阵,二维图形基本几何变换是指相对于坐标原点和坐标轴进行的几何变换,包括平移、比例、旋转、反射和错切五种变换。

本节以点的二维基本几何变换为例进行讲解。

二维坐标点的基本几何变换可以表示成P=PT的形式,其中,P为变换前点的规范化齐次坐标点,P为变换后点的规范化齐次坐标点,T为33的变换矩阵。

5.2.1平移变换矩阵,平移变换是指将坐标点P(x,y)从位置移动到P(x,y)位置的过程,如图5-1所示。

平移变换的坐标表示为:

图5.1平移变换,P,P,Tx,Ty,因此,二维平移变换矩阵为:

式中,Tx,Ty为平移参数。

(5-4),相应的齐次坐标矩阵表示为:

5.2.2比例变换矩阵,比例变换是指坐标点P(x,y)相对于坐标原点O,沿x方向缩放Sx倍,沿y方向缩放Sy倍,得到点P(x,y)的过程,如图5-2所示。

图5.2比例变换,P,P,sy,sx,比例变换的坐标表示为:

相应的齐次坐标矩阵表示为:

因此,二维比例变换矩阵为:

式中,Sx,Sy为比例系数,(5-5),比例变换可以改变图形的形状。

当SxSy且Sx、Sy大于1时,图形等比放大;当SxSy且Sx、Sy小于1大于0时,图形等比缩小;当SxSy时,图形发生形变。

前面介绍过变换矩阵的子矩阵,是对图形作整体比例变换,关于这一点可以令SxSyS导出,请注意这里s1/S,即s1时,图形整体缩小;0s1时,图形整体放大。

5.2.3旋转变换矩阵,旋转变换是将坐标点P(x,y)相对于坐标原点O旋转一个角度(逆时针为正,顺时针为负),得到点P(x,y)的过程,如图5-3所示。

P,P,图5-3旋转变换,对于点,极坐标表示为:

旋转变换的坐标表示为:

相应的齐次坐标矩阵表示为:

因此,二维旋转变换矩阵为:

(5-6),式中,为旋转起始角,为旋转终止角。

式(5-6)为绕原点逆时针旋转的变换矩阵,若旋转方向为顺时针,角取为负值。

顺时针旋转变换矩阵为:

5.2.4反射变换矩阵,反射变换也称为对称变换,是将坐标点P(x,y)关于原点或某个坐标轴反射得到P(x,y)点的过程。

具体可以分为关于原点反射、关于x轴反射、关于y轴反射等几种情况,如图5-4所示。

(a)关于原点反射,(b)关于x轴反射,(c)关于y轴反射,图5-4反射变换,关于原点反射的坐标表示为:

相应的齐次坐标矩阵表示为:

因此,关于原点的二维反射变换矩阵为:

(5-7),同理可得,关于x轴的二维反射变换矩阵为:

同理可得,关于y轴的二维反射变换矩阵为:

(5-8),(5-9),5.2.5错切变换矩阵,错切变换是将坐标点P(x,y)沿x和y轴发生不等量的变换,得到点P(x,y)的过程。

如图5-5所示。

(a)正方形,(b)沿+x方向错切,(c)沿-x方向错切,B,A,D,C,A,B,C,D,b=0c=1,b=0c=-1,B,A,C,D,(d)沿+y方向错切,(e)沿-y方向错切,(f)沿+x和+y方向错切,沿x,y方向的错切变换的坐标表示为:

相应的齐次坐标矩阵表示为:

图5-5错切变换,B,A,D,C,b=1c=0,C,C,D,D,B,B,A,A,b=-1c=0,b=1c=1,因此,沿x,y两个方向的二维错切变换矩阵为:

其中c、b为错切参数。

(5-10),的非对角线元素大多为零,如果c和b不为零,则意味着对图形进行错切变换,如图5-5(f)所示。

令b0可以得到沿x方向的错切变换,c0是沿x正向的错切变换,c0是沿y正向的错切变换,b0是沿y负向的错切变换,如图5-5(d)和(e)所示。

在前面的变换中,子矩阵,上面讨论的五种变换给出的都是点变换的公式,对于线框模型,图形的变换实际上都可以通过点变换来完成。

例如直线段的变换可以通过对两个顶点坐标进行变换,连接新顶点得到变换后的新直线;多边形的变换可以通过对每个顶点进行变换,连接新顶点得到变换后的新多边形来实现。

曲线的变换可通过变换控制多边形的控制点并重新画线来完成。

符合下面形式的坐标变换称为二维仿射变换(AffineTransformation)。

(5-11),变换后的坐标x和y都是变换前的坐标x和y的线性函数。

参数aij是由变换类型确定的常数。

仿射变换具有平行线变换成平行线,有限点映射到有限点的一般特性。

平移、比例、旋转、反射和错切五种变换都是二维仿射变换的特例,任何一组二维仿射变换总可表示为这五种变换的组合。

因此,平移、比例、旋转、反射的仿射变换保持变换前后两直线间的角度、平行关系和长度之比不改变。

复习:

设变换前图形顶点集合的规范化齐次坐标矩阵为:

变换后图形顶点集合的规范化齐次坐标矩阵为:

二维变换矩阵为:

则二维几何变换公式为,可以写成:

二维平移变换矩阵为:

二维比例变换矩阵为:

二维旋转变换矩阵为:

顺时针旋转变换矩阵为:

关于原点的二维反射变换矩阵为:

关于x轴的二维反射变换矩阵为:

关于y轴的二维反射变换矩阵为:

5.3二维复合变换,5.3.1复合变换原理,5.3.2相对于任一参考点的二维几何变换,5.3.3相对于任意方向的二维几何变换,5.3.1复合变换原理,复合变换是指图形做了一次以上的基本几何变换,是基本几何变换的组合形式,复合变换矩阵是基本几何变换矩阵的组合。

其中,T为复合变换矩阵,T1,T2Tn为单次基本几何变换矩阵。

值得注意是:

进行复合变换时,需要注意矩阵相乘的顺序。

由于矩阵乘法不满足交换律,因此通常T1T2T2T1,在复合变换中,矩阵相乘的顺序不可交换。

通常先计算出,再计算,5.3.2相对于任一参考点的二维几何变换,前面已经定义,二维基本几何变换都是相对于坐标原点进行的平移、比例、旋转、反射和错切五种变换,但在实际应用中常会遇到参考点不在坐标原点的情况。

相对于任一参考点的变换方法为首先将参考点平移到坐标原点,对坐标原点进行二维基本几何变换,然后再将参考点平移回原位置。

例1一个由顶点P1(10,10),P2(30,10)和P3(20,25)所定义的三角形,如图5-6所示,相对于点Q(10,25)逆时针旋转30,求变换后的三角形顶点坐标。

图5-6示例图,第一步Q点平移至坐标原点,如图5-7所示。

Q,P3,P1,P2,图5-7平移,变换矩阵为:

第二步三角形相对于坐标原点逆时针旋转30,如图5-8所示。

P1,P2,P3,Q,图5-8旋转,变换矩阵为:

P1,P2,P3,Q,第三步参考点Q平移回原位置,如图5-9所示。

变换矩阵为:

图5-9反平移,图形变换后的顶点的规范化齐次坐标矩阵等于变换前的规范化齐次坐标矩阵乘以变换矩阵。

而,所以,P1(17.5,12.01),,P2(34.82,22.01),P3(18.66,30)。

5.3.3相对于任意方向的二维几何变换,二维基本几何变换是相对于坐标轴进行的平移、比例、旋转、反射和错切五种变换,但在实际应用中常会遇到变换方向不与坐标轴重合的情况。

相对于任意方向的变换方法为首先对任意方向做旋转变换,使变换方向与坐标轴重合,然后对坐标轴进行二维基本几何变换,最后做反向旋转变换,将任意方向还原回原来的位置。

例2图5-10所示三角形相对于轴线y=kx+b作反射变换,求每一步相应的变换矩阵。

y=kx+b,(0,b),图5-10原始图形,第一步将点(0,b)平移至坐标原点,如图5-11所示。

图5-11平移,变换矩阵为:

第二步将轴线y=kx绕坐标原点顺时针旋转角(=arctank),落于x轴上,如图5-12所示。

变换矩阵为:

图5-12旋转,第三步三角形相对x轴作反射变换,如图5-13所示。

变换矩阵为:

图5-13反射,第四步将轴线y=kx逆时针旋转角(=arctank),如图5-14所示。

变换矩阵为:

图5-14反旋转,图5-15反平移,第五步将轴线平移回原来的位置,如图5-15所示。

变换矩阵为:

5.4二维图形裁剪,5.4.1图形学中常用的坐标系5.4.2窗口和视区及窗视变换5.4.3窗视变换矩阵,5.4.1图形学中常用的坐标系,计算机图形学中常用的坐标系有用户坐标系、观察坐标系、设备坐标系和规格化设备坐标系等。

1.用户坐标系(UserCoordinate,UC),用户定义原始图形所采用的坐标系称为用户坐标系。

用户坐标系通常根据应用的需要可以选择直角坐标系、圆柱坐标系、球坐标系以及极坐标系等等。

图5-16所示为常用的二维和三维用户直角坐标系。

5-16二维和三维用户坐标系,2.观察坐标系(ViewCoordinate,VC),依据观察窗口的方向和形状在用户坐标系中定义的坐标系称为观察坐标系,观察坐标系用于指定图形的哪一部分可以输出范围。

5-17观察坐标系,3.设备坐标系(DeviceCoordinate,DC),显示器等图形输出设备自身都有一个坐标系称为设备坐标系,也称为屏幕坐标系。

设备坐标系是二维坐标系,原点位于屏幕左上角,x轴垂直向右,y轴垂直向下,基本单位为像素。

5-18设备坐标系,5-19规格化设备坐标系,4.规格化设备坐标系(NormalizedDeviceCoordinate,NDC),规格化设备坐标系是将设备坐标系规格化到0.0,0.0到1.0,1.0的范围内而定义的坐标系。

规格化设备坐标系独立于具体输出设备。

一旦图形变换到规格化设备坐标系中,只要作一个简单的乘法运算即可映射到具体的设备坐标系中。

由于规格化设备坐标系能统一用户各种图形的显示范围,故把用户图形变换成规格化设备坐标系中的统一大小标准图形的过程叫作图形的逻辑输出。

把规格化设备坐标系中的标准图形送到显示设备上输出的过程叫作图形的物理输出。

有了规格化设备坐标系后,图形的输出可以在抽象的显示设备上进行讨论,因而这种图形学又称为与具体设备无关的图形学。

5.4.2窗口和视区及窗视变换,在观察坐标系中定义的确定显示内容的区域称为窗口。

显然此时窗口内的图形是用户希望在屏幕上输出的,窗口是裁剪图形的标准参照物。

在设备坐标系中定义的输出图形的区域称为视区。

视区和窗口的大小可以不相同。

一般情况下,用户把窗口内感兴趣的图形输出到屏幕上相应的视区内。

在屏幕上可以定义多个视区,用来同时显示不同的窗口内的图形信息,图5-20定义了3个窗口内容用于输出,图5-21的屏幕被划分为3个视区,对3个窗口内容进行了重组。

5-203个窗口,5-213个视区,图形输出需要进行从窗口到视区的变换,只有窗口内的图形才能在视区中输出,并且输出的形状要根据视区的大小进行调整,这称为窗视变换(WindowViewportTransformation,WVT)。

在二维图形观察中,可以这样理解,窗口相当于一个一扇窗户,窗口内的图形是希望看到的,就在视区中输出,窗口外的图形不希望看到,不在视区中输出,因此需要对窗口中输出的二维图形进行裁剪。

在计算机图形学术语中,窗口最初是指要观察的图形区域。

但是随着Windows的出现,窗口概念已广泛用于图形系统中,泛指任何可以移动,改变大小、激活或变为无效的屏幕上的矩形区域。

在本章中,窗口回归到其原始定义,是在观察坐标系中确定输出图形范围的矩形区域。

5.4.3窗视变换矩阵,窗口和视区的边界定义如图5-22所示,假定把窗口内的一点P(xw,yw)变换为视区中的一点P(xv,yv)。

这属于相对于任一参考点的二维几何变换,变换步骤为:

5-22窗口和视区的定义,窗口,视区,1.将窗口左下角点(wxl,wyb)平移到观察坐标系原点,2.对原点进行比例变换,使窗口的大小和视区大小相等,将窗口变换为视区,其中,3.进行反平移,将视区的左下角点平移到设备坐标系的(vxl,vyb)点,因此,窗视变换矩阵为:

代入,Sx和Sy的值,窗视变换矩阵为:

写成方程为:

令,则窗视变换的展开式为:

(5-12),二维图形的显示流程图,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1