版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-2-22计算机图形学1第6章 二维变换及二维观察提出问题提出问题 如何对二维图形进行方向、尺寸和形状方面的变换 如何方便地实现在显示设备上对二维图形进行观察2022-2-22计算机图形学2第第6章章 二维变换及两维观察二维变换及两维观察6.1 基本概念基本概念6.1.1 齐次坐标齐次坐标 齐次坐标表示齐次坐标表示就是用n+1维向量表示一个n维向量。l齐次坐标的不唯一性 规范化齐次坐标表示规范化齐次坐标表示就是h=1的齐次坐标表示。 如何从齐次坐标转换到规范化齐次坐标?2022-2-22计算机图形学36.1.2 几何变换几何变换图形的几何变换几何变换是指对图形的几何信息经过平移、比例、
2、旋转等变换后产生新的图形,是图形在方向、尺寸和形状方面的变换。2022-2-22计算机图形学46.1.3 二维变换矩阵二维变换矩阵 smlqdcpbayxTyxyxD11122022-2-22计算机图形学56.2 基本几何变换基本几何变换基本几何变换都是相对于坐标原点和坐标轴进行的相对于坐标原点和坐标轴进行的几何变换几何变换6.2.1 平移变换平移变换平移平移是指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程。2022-2-22计算机图形学6平移是一种不产生变形而移动物体的刚体变换(rigid-body transformation)YXTxTy图6-1 平移变换PPT2022-
3、2-22计算机图形学7Tx,Ty称为平移矢量平移矢量1010001yxTT推导推导:矩阵矩阵:2022-2-22计算机图形学86.2.2 比例变换比例变换比例变换比例变换是指对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为比例系数比例系数。YX图6-2 比例变换(Sx=2,Sy=3)P(4,3)P(2,1)2022-2-22计算机图形学9推导推导:矩阵矩阵:1000000yxSS2022-2-22计算机图形学10(a) Sx=Sy比例原图(b) SxSy比例原图图6-3 比例变换SxSySx=Sy1Sx=Sy12022-2-22计算机图形学11整体比例变换整体比例
4、变换:s000100012022-2-22计算机图形学126.2.3 旋转变换旋转变换二维旋转二维旋转是指将p点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点p的重定位过程。YX图6-4 旋转变换PPrr2022-2-22计算机图形学13推导推导:矩阵矩阵:逆时针旋转角1000cossin0sincos顺时针旋转角?2022-2-22计算机图形学14简化计算简化计算 100010111yxyx2022-2-22计算机图形学156.2.4 对称变换对称变换对称变换对称变换后的图形是原图形关于某一轴线或原点的镜像。XY(a)关于x轴对称XY(b)关于y轴对称XY(c)关于原点对称202
5、2-2-22计算机图形学16XY(d)关于x=y对称XY(e)关于x=-y对称2022-2-22计算机图形学17(1)关于关于x轴对称轴对称100010001YXP(x,-y)P(x,y)(a)关于x轴对称2022-2-22计算机图形学18(2)关于关于y轴对称轴对称YXP(-x,y)p(x,y)(b)关于y轴对称1000100012022-2-22计算机图形学19(3)关于原点对称关于原点对称YXP(x,y)(c)关于原点对称1000100012022-2-22计算机图形学20(4)关于关于y=x轴对称轴对称YXp(x,y)p(y,x)x=y(d)关于x=y对称1000010102022-2
6、-22计算机图形学21(5)关于关于y=-x轴对称轴对称YXP(-y,-x)P(x,y)x=-y(e)关于x=-y对称1000010102022-2-22计算机图形学226.2.5 错切变换错切变换错切变换错切变换,也称为剪切、错位变换,用于产生弹性物体的变形处理。YXYXYX(a) 原图(b) 沿x方向错切(c) 沿y方向错切图6-7 错切变换2022-2-22计算机图形学23其变换矩阵为: 1000101cb (1)沿沿x方向错切方向错切 (2)沿沿y方向错切方向错切 (3)两个方向错切两个方向错切2022-2-22计算机图形学246.2.6 二维图形几何变换的计算二维图形几何变换的计算几
7、何变换均可表示成几何变换均可表示成P=P*T的形式的形式 1. 点的变换 2. 直线的变换 3. 多边形的变换 4. 曲线的变换2022-2-22计算机图形学256.3 复合变换复合变换复合变换复合变换是指: 图形作一次以上的几何变换,变换结果是每次的变换矩阵相乘。 任何一复杂的几何变换都可以看作基本几何变换的组合形式。复合变换具有形式:) 1( )(321321nTTTTPTTTTPTPPnn2022-2-22计算机图形学266.3.1 二维复合平移二维复合平移两个连续平移是加性的。6.3.2 二维复合比例二维复合比例连续比例变换是相乘的。6.3.3 二维复合旋转二维复合旋转两个连续旋转是相
8、加的。可写为:)(21)()(21RRRR2022-2-22计算机图形学276.3.4 其它二维复合变换其它二维复合变换1000cos000cos100010110001011000cos000cos1000 cos sin0 sincostgtgtgtgR2022-2-22计算机图形学286.3.5 相对任一参考点的二维几何变换相对任一参考点的二维几何变换相对某个参考点(xF,yF)作二维几何变换,其变换过程为:(1) 平移(2) 针对原点进行二维几何变换。(3) 反平移例1. 相对点(xF,yF)的旋转变换例2. 相对点(xF,yF)的比例变换2022-2-22计算机图形学296.3.6
9、相对任意方向的二维几何变换相对任意方向的二维几何变换相对任意方向作二维几何变换,其变换的过程是:(1) 旋转变换(2) 针对坐标轴进行二维几何变换;(3) 反向旋转例3. 相对直线y=x的反射变换2022-2-22计算机图形学30例4. 将正方形ABCO各点沿图6-8所示的(0,0)(1,1)方向进行拉伸,结果为如图所示的,写出其变换矩阵和变换过程。YX13/21/21/23/222图6-8 针对固定方向的拉伸OABCCBA2022-2-22计算机图形学316.3.7 坐标系之间的变换坐标系之间的变换问题问题:图6-9 坐标系间的变换xyxyOOx0y0p(xp,yp)2022-2-22计算机
10、图形学32分析:分析:xyyOO(x0,y0)图6-11 坐标系变换的变换原理xp,也即pp*pxpy *xOp*yOp2022-2-22计算机图形学33可以分两步进行:xyyOOx0y0 x(a)将xy坐标系的原点平移到xy坐标系的原点p(xp,yp)xyOyx(b)将x轴旋转到x轴上p(xp,yp)2022-2-22计算机图形学34于是: RTtTpTpTpypxpypxp112022-2-22计算机图形学356.3.8 光栅变换光栅变换直接对帧缓存中象素点进行操作的变换称为光栅变换光栅变换。 光栅平移变换: (a)读出象素块的内容(b)复制象素块的内容(c)擦除原象素块的内容2022-2
11、-22计算机图形学36 90、180和270的光栅旋转变换: (a)逆时针旋转90(x,y)(y,rowlen-x)rowlen(x,y)(rowlen-x,vollen-y)(b)逆时针旋转180rowlenvollen2022-2-22计算机图形学37 任意角度的光栅旋转变换: 旋转的象素阵列光栅网格AA2132022-2-22计算机图形学38 光栅比例变换: (a)Sx=1/2,Xy=1/2(b)原图(a)Sx=1,Xy=3/2缩小时原图中的相应象素区域放大时原图中的相应象素区域2022-2-22计算机图形学396.3.9 变换的性质变换的性质 仿射变换具有平行线不变性和有限点数目的不变
12、性 平移、比例、旋转、错切和反射等变换均是二维仿射变换的特例,反过来,任何常用的二维仿射变换总可以表示为这五种变换的复合。 ndycxymbyaxx二维仿射变换二维仿射变换是具有如下形式的二维坐标变换: 2022-2-22计算机图形学40二维几何变换具有如下一些性质: 直线的中点不变性; 平行直线不变性; 相交不变性; 仅包含旋转、平移和反射的仿射变换维持角度和长度的不变性; 比例变化可改变图形的大小和形状; 错切变化引起图形角度关系的改变,甚至导致图形发生畸变。2022-2-22计算机图形学416.4 两维观察两维观察6.4.1 基本概念基本概念 在计算机图形学中,将在用户坐标系中需要进行观
13、察和处理的一个坐标区域称为窗口窗口(Window) 将窗口映射到显示设备上的坐标区域称为视区视区(Viewport)2022-2-22计算机图形学42要将窗口内的图形在视区中显示出来,必须经过将窗口到视区的变换(Window-Viewport Transformation)处理,这种变换就是观察变换(观察变换(Viewing Transformation)。XYwxlXYwybwxrwyt窗口vxrvybvyt视区(a)用户坐标系中的窗口(b)屏幕坐标系中的视区vxl2022-2-22计算机图形学43XY窗口图6-17 用户坐标系中旋转的窗口1x用户y用户xNDCyNDC窗口视区y观察x观察1
14、(a)观察坐标系(b)规格化设备坐标系2022-2-22计算机图形学44观察坐标系观察坐标系(View Coordinate)和规格化设备坐标系和规格化设备坐标系(Normalized Device Coordinate) l观察坐标系观察坐标系是依据窗口的方向和形状在用户坐标平面中定义的直角坐标系。l规格化设备坐标系规格化设备坐标系也是直角坐标系,它是将二维的设备坐标系规格化到(0.0,0.0)到(1.0,1.0)的坐标范围内形成的。2022-2-22计算机图形学45引入了观察坐标系和规格化设备坐标系后,观察变换分为如下图所示的几个步骤,通常称为二维观察流程二维观察流程。 观 察 坐标 系
15、下对 窗 口进 行 裁剪窗口到视区(规范化设备坐标系中定义)的变换视图区从规范化坐标系到设备坐标系的变换在图形设备上输出DC用 户 坐标 系 到观 察 坐标 系 间的变换应用程序到图形的用户坐标图6-19 两维观察流程NDCVCWCVC2022-2-22计算机图形学46 变焦距效果变焦距效果图6-20 变焦距效果(窗口变、视区不变)(a) 原图及变化的窗口(b)与窗口对应的视区1(c)与窗口对应的视区2(d)与窗口对应的视区31123232022-2-22计算机图形学47 整体放缩效果整体放缩效果(a) 原图及窗口(b) 视区1图6-21 整体放缩效果(窗口不变、视区变)(c) 视区2(d)视
16、区3 漫游效果漫游效果 2022-2-22计算机图形学486.4.2 用户坐标系到观察坐标系的变换用户坐标系到观察坐标系的变换用户坐标系到观察坐标系的变换分由两个变换步骤合成:1. 将观察坐标系原点移动到用户坐标系原点x用户y用户窗口y观察x观察(a) 平移变换2022-2-22计算机图形学492. 绕原点旋转使两坐标系重合 x用户y用户窗口y观察x观察(b) 旋转变换2022-2-22计算机图形学506.4.3 窗口到视区的变换窗口到视区的变换XYwxlXYwybwxrwyt窗口vxlvybvyt视区图6-23 窗口到视区的变换(a)窗口中的点(b)视区中的点(xw,yw)(xv,yv)vx
17、r2022-2-22计算机图形学51要将窗口内的点(xw,yw)映射到相对应的视区内的点(xv,yv)需进行以下步骤:(1) 将窗口左下角点移至用户系统系的坐标原点(2) 针对原点进行比例变换(3) 进行反平移2022-2-22计算机图形学526.5 裁剪裁剪 在二维观察中,需要在观察坐标系下对窗口进行裁剪裁剪,即只保留窗口内的那部分图形,去掉窗口外的图形。 假设假设窗口是标准矩形,即边与坐标轴平行的矩形,由上(y=wyt)、下(y=wyb)、左(x=wxl)、右(x=wxr)四条边描述。2022-2-22计算机图形学536.5.1 点的裁剪点的裁剪wytywybwxrxwxl且, 2022-
18、2-22计算机图形学546.5.2 直线段的裁剪直线段的裁剪假定假定直线段用p1(x1,y1)p2(x2,y2)表示。 直线段和剪裁窗口的可能关系:l完全落在窗口内l完全落在窗口外l与窗口边界相交 窗口图6-24 直线段与窗口的关系ABCDEFHGIJ2022-2-22计算机图形学55 实交点实交点是直线段与窗口矩形边界的交点。 虚交点虚交点则是直线段与窗口矩形边界延长线或直线段的延长线与窗口矩形边界的交点。 窗口图6-25 实交点与虚交点ABCDEFHGIJ虚交点实交点实交点实交点虚交点虚交点2022-2-22计算机图形学561. Cohen-Sutherland算法算法基本思想基本思想:对
19、每条直线段p1(x1,y1)p2(x2,y2)分三种情况处理:(1) 直线段完全可见,“简取”之。(2) 直线段完全不可见,“简弃”之。(3) 直线段既不满足“简取”的条件,也不满足“简弃”的条件,需要对直线段按交点进行分段,分段后重复上述处理。 2022-2-22计算机图形学57编码编码:对于任一端点(x,y),根据其坐标所在的区域,赋予一个4位的二进制码D3D2D1D0。编码规则如下: 若xwxr,则D1=1,否则D1=0; 若ywyt,则D3=1,否则D3=0。 0000窗口01000101100100011010011010000010图6-26 窗口及区域编码D3D2D1D02022
20、-2-22计算机图形学58裁剪裁剪裁剪一条线段时,先求出端点p1和p2的编码code1和code2,然后:(1)若code1|code2=0,对直线段应简取之。(2)若code1&code20,对直线段可简弃之。(3)若上述两条件均不成立。则需求出直线段与窗口边界的交点。在交点处把线段一分为二,其中必有一段完全在窗口外,可以弃之。再对另一段重复进行上述处理,直到该线段完全被舍弃或者找到位于窗口内的一段线段为止。2022-2-22计算机图形学59求交求交:假定直线的端点坐标为(x1,y1)和(x2,y2) 左、右边界交点的计算: 上、下边界交点的计算: 窗口ABCDEFHGIJ虚交点实交点实交点
21、实交点虚交点虚交点2022-2-22计算机图形学60算法的步骤算法的步骤:(1)输入直线段的两端点坐标:p1(x1,y1)、p2(x2,y2),以及窗口的四条边界坐标:wyt、wyb、wxl和wxr。(2)对p1、p2进行编码:点p1的编码为code1,点p2的编码为code2。(3)若code1|code2=0,对直线段应简取之,转(6);否则,若code1&code20,对直线段可简弃之,转(7);当上述两条均不满足时,进行步骤(4)。(4)确保p1在窗口外部:若p1在窗口内,则交换p1和p2的坐标值和编码。(5)按左、右、上、下的顺序求出直线段与窗口边界的交点按左、右、上、下的顺序求出直
22、线段与窗口边界的交点,并用该交点的坐标值替换p1的坐标值。也即在交点也即在交点s处把线段一分为二,处把线段一分为二,并去掉并去掉p1s这一段。这一段。考虑到p1是窗口外的一点,因此可以去掉p1s。转(2)。(6)用直线扫描转换算法画出当前的直线段p1p2。(7)算法结束。 2022-2-22计算机图形学61例如例如: 特点特点: P1P2P3P4000001000101100100011010011010000010图6-27 直线段p1p2的编码裁剪2022-2-22计算机图形学622. 中点分割算法中点分割算法基本思想基本思想: 当对直线段不能简取也不能简弃时,简单地把线段等分为二段,对两
23、段重复上述测试处理,直至每条线段完全在窗口内或完全在窗口外。 2022-2-22计算机图形学63算法步骤:算法步骤:(1)输入直线段的两端点坐标:p1(x1,y1)、p2(x2,y2),以及窗口的四条边界坐标:wyt、wyb、wxl和wxr。(2)对p1、p2进行编码:点p1的编码为code1,点p2的编码为code2。(3)若code1|code2=0,对直线段应简取之,保留当前直线段的端点坐标,转(5);否则,若code1&code20,对直线段可简弃之,转(5);当上述两条均不满足时,进行步骤(4)。(4)求出直线段的中点求出直线段的中点M,将将p1M、p2M入栈入栈。(5)当栈不空时,
24、从栈中弹出一条直线段,取为p1p2,转(2)进行处理。否则,继续(6)。(6)当栈为空时,合并保留的直线段端点当栈为空时,合并保留的直线段端点,得到窗口内的直线段p1p2。用直线扫描转换算法画出当前的直线段p1p2,算法结束。2022-2-22计算机图形学64中点分割算法的核心思想核心思想是通过二分逼近来确定直线段与窗口的交点。p1p2p3p4p5p6p72022-2-22计算机图形学65重新构造算法步骤算法步骤:(1)若code1|code2=0,对直线段应简取之,结束;否则,若code1&code20,对直线段可简弃之,结束;当这两条均不满足时,进行步骤(2)。(2)找出该直线段离窗口边界
25、最远的点和该直线段的中点。判中点判中点是否在窗口内是否在窗口内:若中点不在窗口内,则把中点和离窗口边界最若中点不在窗口内,则把中点和离窗口边界最远点构成的线段丢掉,以线段上的另一点和该中点再构成线段远点构成的线段丢掉,以线段上的另一点和该中点再构成线段求其中点;如中点在窗口内,则又以中点和最远点构成线段,求其中点;如中点在窗口内,则又以中点和最远点构成线段,并求其中点,直到中点与窗口边界的坐标值在规定的误差范围并求其中点,直到中点与窗口边界的坐标值在规定的误差范围内相等,则该中点就是该线段落在窗口内的一个端点坐标。内相等,则该中点就是该线段落在窗口内的一个端点坐标。(3)如另一点在窗口内,则经
26、(2)即确定了该线段在窗口内的部分。如另一点不在窗口内,则该点和所求出的在窗口上的那一点构成一条线段,重复步骤(2),即可求出落在窗口内的另一点。2022-2-22计算机图形学66例如例如: 特点特点: p1p2p3p4p5p6p72022-2-22计算机图形学673. Liang-Barsky算法算法 分析 推导 2022-2-22计算机图形学68特殊处理:(a)直线段与窗口边界wxl和wxr平行的情况(b)直线段与窗口边界wyb和wyt平行的情况wytwybwxlwxrwxrwxlwybwytA AB BC CD DE EF FG GH HI IJ JK KL L2022-2-22计算机图
27、形学69算法步骤算法步骤:(1)输入直线段的两端点坐标:(x1,y1)和(x2,y2),以及窗口的四条边界坐标:wyt、wyb、wxl和wxr。(2)若x=0,则p1=p2=0。此时进一步判断是否满足q10或q20且q20,则进一步计算计算u1和和u2。算法转(5)。(3)若y=0,则p3=p4=0。此时进一步判断是否满足q30或q40且q20,则进一步计算计算u1和和u2。算法转(5)。(4)若上述两条均不满足,则有pk0(k=1,2,3,4)。此时计算计算u1和和u2。(5)求得u1和u2后,进行判断:若u1u2,则直线段在窗口外,算法转(7)。若u1u2,利用直线的参数方程求得直线段在窗
28、口内的两端点坐标。(6)利用直线的扫描转换算法绘制在窗口内的直线段。算法结束。2022-2-22计算机图形学704. 其它裁剪算法简介其它裁剪算法简介 Cohen-Sutherland算法、中点分割算法和Liang-Barsky算法 Cyrus-Beck算法 Nicholl-Lee-Nicholl算法2022-2-22计算机图形学716.5.3 多边形的裁剪多边形的裁剪问题的提出: (a)裁剪前(b)直接采用直线段裁剪的结果(c)正确的裁剪结果2022-2-22计算机图形学721. Sutherland-Hodgeman多边形裁剪多边形裁剪基本思想基本思想输入:ABCDEFGHABCDEFGH输出:A12DEFGH12(a)用左边界裁剪输出:A134D56FGHADEFGH输入:A12DEFGH12(b)用下边界裁剪34562022-2-22计算机图形学73输入:A134D56FGHADFGH1(c)用右边界裁剪3456输出:A134D5678GH78ADGH1(d)用上边界裁剪345678输入:A134D5678GH输出:K34D56789IHJ9IJK2022-2-22计算机图形学74算法实施策略算法实施策略: 为窗口各边界裁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 紧急订单交货期限变更函(8篇)范文
- 企业团队协作训练互动方案
- 护理安全实践中的沟通失误案例研究
- 审查流程标准化高效执行手册
- 护理安全的原则
- 护理专业护理案例分析
- 房颤患者的生活管理及护理措施
- 护理伦理困境:挑战与应对策略
- (二模)郑州市2026年高三毕业年级第二次质量预测地理试卷(含答案)
- 2026年小学五年级上册语文高频考点真题汇编卷含答案
- 保险转账委托书模板
- 不合格品控制程序的培训
- 华师大版八年级下册数学期中考试试题含答案
- 通站(2017)8012 铁路站场排水构筑物
- 钻机租赁协议
- 2024装配式等效钢骨混凝土结构技术规程
- 秋梨膏做法完整版本
- 解聘合同范本简单版
- 吉利工厂过程质量对标标准手册V4
- 2024年4月贵州省高三年级适应性考试历史试卷
- 《电子皮带秤》课件
评论
0/150
提交评论