二维变换及二维观察课件

上传人:我*** 文档编号:143675371 上传时间:2020-09-01 格式:PPT 页数:82 大小:830.50KB
返回 下载 相关 举报
二维变换及二维观察课件_第1页
第1页 / 共82页
二维变换及二维观察课件_第2页
第2页 / 共82页
二维变换及二维观察课件_第3页
第3页 / 共82页
二维变换及二维观察课件_第4页
第4页 / 共82页
二维变换及二维观察课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《二维变换及二维观察课件》由会员分享,可在线阅读,更多相关《二维变换及二维观察课件(82页珍藏版)》请在金锄头文库上搜索。

1、第六章 图形变换,6.1 图形变换的数学基础 6.2 窗口到视区的变换 6.3 二维几何变换 6.4 裁剪,图形变换简介 图形变换是计算机图形学基础内容之一,其类型主要包括: 视窗变换,几何变换,投影变换 作用: 把用户坐标系与设备坐标系联系起来; 可由简单图形生成复杂图形; 可用二维图形表示三维形体; 动态显示。,图形变换简介 图形变换:对图形的几何信息经过几何变换后产生新的图形。 图形变换的两种途径: 1.图形不变,坐标系改变; 2.图形改变,坐标系不变。 我们主要讨论坐标系不变而进行的图形变换。,6.1 图形变换的数学基础,6.1.1 矢量有方向和长度的量,图形中用箭头表示。 矢量和,6

2、.1 图形变换的数学基础,矢量的数乘 矢量的点积 性质,6.1 图形变换的数学基础,矢量的长度 单位矢量 矢量的夹角 矢量的叉积,6.1 图形变换的数学基础,6.1.2 矩阵 阶矩阵: 由mn个数按m行n列排列的一个整体。 n阶方阵 零矩阵 行向量与列向量 单位矩阵 矩阵的转置 矩阵的逆 矩阵的加法 矩阵的数乘 矩阵的乘法,其中,aij称为矩阵A的第i行第j列元素,6.1 图形变换的数学基础,6.1.3 齐次坐标 齐次坐标的表示法: 由n+1维向量表示一个n维向量。如n维向量(P1,P2, ,Pn)表示为(hP1,hP2,hPn,h),其中h称为哑坐标。 1、h可以取不同的值,所以同一点的齐次

3、坐标不是唯一的。 如普通坐标系下的点(2,3)变换为齐次坐标 可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。 2、普通坐标与齐次坐标的关系为“一对多” 由普通坐标h齐次坐标 由齐次坐标h普通坐标 3、当h=1时产生的齐次坐标称为“规格化坐标”,因为前n个坐标就是普通坐标系下的n维坐标。,6.1 图形变换的数学基础,6.1.3 齐次坐标,齐次坐标的作用 1. 将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高维空间上的一个点从一个坐标系变换到另一坐标系的有效方法。 2. 变换具有统一表示形式的优点, 便于变换合成,二维图形的显示流程,6.2 窗口到视区的变换,6

4、.2 窗口到视区的变换,6.2.1 几个基本概念用户域和窗口区 1、用户域程序员用来定义草图的整个自然空间(WD); a、人们所要描述的图形均在用户域定义; b、是一个实数域,理论上是无限的。 2、窗口区用户指定的任意区域 a、小于或等于用户域; b、常用为矩形,也可以是多边形、圆形等; c、可以嵌套,即在第I层窗口中定义第I+1层窗口;,6.2 窗口到视区的变换,6.2.1 几个基本概念屏幕域和视图区 1、屏幕域设备输出图形的最大区域,是有限的整数域。如图形显示器分辨率为1024768 DC0.10230.767 2视图区任何小于或等于屏幕域的区域 a、视图区用设备坐标定义在屏幕域中,使用角

5、顶点坐标定义。 b、窗口区显示到视图区,需做窗口区到视图区的坐标转换。 c、视图区可以有多种类型:圆形、矩形、多边形等。 d、视图区也可以嵌套。,6.2 窗口到视区的变换,6.2.2 窗口区到视图区的坐标变换 设窗口的四条边界WXL,WXR,WYB,WYT;视图的四条边界VXL,VXR,VYB,VYT。令用户坐标系下的点(即窗口内的一点)(Xw,Yw)对应屏幕视图区中的点(Xs,Ys),(WXR, WYT),(WXL, WYB),(VXR, VYT),(VXL, VYB),(Xw, Yw),(Xs, Ys),6.2 窗口到视区的变换,6.2.2 窗口区到视图区的坐标变换 根据相似性原理得经过推

6、导可得其变换公式为,(61),解得:,6.2 窗口到视区的变换,6.2.2 窗口区到视图区的坐标变换 公式(6-1)可以简化为: 1) 当ac时,即x 方向的变化与y方向的变化不同时,视图中的图形会有伸缩变化,图形变形。 2)当a = c = 1,b = d = 0则Xs=Xw,Ys=Yw,图形完全相同。,(62),6.2 窗口到视区的变换,6.2.2 窗口区到视图区的坐标变换 变焦距功能的实现: 视图区不变,将窗口区域等比例扩大显示图形缩小; 视图区不变,将窗口区域等比例缩小显示图形放大; 漫游的实现: 保持窗口区和视图区大小不变,按一定变化量连续改变窗口区位置,则整个图形可以呈现一种动态相

7、对运动效果。,6.3 二维几何变换,平移变换 比例变换 旋转变换 对称变换 错切变换,二维几何变换演示,6.3 二维几何变换,6.3.1 二维变换矩阵 设二维图形变换前齐次坐标为(x, y, 1), 变换后的坐标为(x*, y*, 1),其二维变换矩阵T2D记做: 即(x*, y*, 1)=(x, y, 1)T2D,从变换功能上可以看作是由四个矩阵组成:,对图形进行缩放、旋转、对称、错切等变换,对图形进行平移变换,对图形进行投影变换,对图形整体进行伸缩变换,各种矩阵对应的功能,6.3 二维几何变换,6.3.2 平移变换,平移变换只改变图形的位置,不改变图形的大小和形状,1 = 1;,6.3 二

8、维几何变换,6.3.2 平移变换,6.3 二维几何变换,6.3.3 比例变换,当Sx=Sy=1时:恒等比例变换 当Sx=Sy1时:沿x,y方向等比例放大。 当Sx=Sy1时:沿x,y方向等比例缩小 当SxSy时:沿x,y方向作非均匀的比例变换,图形变形。,以坐标原点为缩放参考点,6.3 二维几何变换,6.3.4 对称变换,当b=d=0,a=-1,e=1时,(x* y* 1)=(-x y 1): 当b=d=0,a=1,e=-1时,(x* y* 1)=( x -y 1): 当b=d=0,a=e=-1时,(x* y* 1)=(-x -y 1): 当b=d=1,a=e=0时,(x* y* 1)=(y

9、x 1): 当b=d=-1,a=e=0时,(x* y* 1)=(-y -x 1):,与y轴对称反射变换。,与x轴对称反射变换。,与原点对称反射变换。,与y = x对称反射变换。,与y= - x对称反射变换。,注意;是逆时针旋转角度。,6.3 二维几何变换,6.3.5 旋转变换,6.3 二维几何变换,6.3.6 错切变换,1、当d=0时, (x* y* 1)=(x+by y 1):图形的y坐标不变;此时: 当b0:图形在第一象限沿+x方向作错切位移。ABCDA1B1C1D1 当b0:图形在第一象限沿-x方向作错切位移。ABCD A2B2C2D2,2、当b=0时, (x* y* 1)=(x dx+

10、y 1)图形的x坐标不变,此时: 当d0:图形沿+y方向 作错切位移。ABCD A1B1C1D1; 当d0:图形沿-y方向 作错切位移。ABCD A2B2C2D2,6.3 二维几何变换,6.3.6 错切变换,6.3 二维几何变换,6.3.7 复合变换 复合变换又称为级联变换,是对图形做一次以上的几何变换 任何一个线性变换都可以分解为上述几类变换。,6.3 二维几何变换,6.3.7 复合变换,示例1:复合平移 求点P(x,y)经第一次平移变换(Tx1,Ty1),第二次平移变换(Tx2,Ty2)后的坐标P*(x*, y*),经第二次平移变换后的坐标为P*(x* y* 1),解:设点P(x,y,1)

11、经第一次平移变换后的坐标为P(x y 1),则,变换矩阵为Tt=Tt1Tt2,6.3 二维几何变换,6.3.7 复合变换,示例2:多种复合组合 对一线段先放大2倍(即Sx=Sy=2),再平移Tx=10,Ty=0。,解:设点(x,y)为线段上的任意一点,点(x,y)为点(x,y)放大后的坐标则:,设点(x,y)为点(x,y)经平移后的坐标,则:,令:M=S2(2,2)T2(10,0) ,则M即为组合变换对应的矩阵。 推而广之,连续多个变换的矩阵等于多个变换矩阵的连乘。,6.3 二维几何变换,6.3 二维几何变换,6.3.7 复合变换,示例3:围绕平面上任意点做旋转变换 例如,求解任意一个图形(例

12、如直线上任意一点)围绕平面上的点(xr,yr)逆时针旋转角的之后的图形坐标。,6.3 二维几何变换,解法思想: 先将给定图形变换到能够使用已知基本变换的坐标系表示下,再使用基本旋转变换进行旋转,然后逆变换到原来的坐标系表示下。,6.3 二维几何变换,求解步骤:,6.3 二维几何变换,2、将转换后得到的坐标 再围绕坐标原点旋转角,得到旋转后的坐标(x, y, 1), 其旋转矩阵为:,1、将直线坐标平移转换 成以参考点为坐标原点的坐标 (x,y,1), 其平移矩阵为:,3、将旋转后得到的坐标再平移到以原来坐标系表示的坐标。可以得到的新的坐标为 (x, y, 1), 其平移矩阵为原来平移矩阵的逆阵:

13、,6.3 二维几何变换,因此,围绕平面上任意一点(l, m)逆时针旋转角之后的坐标为:,其旋转矩阵为:,6.3 二维几何变换,6.3.7 复合变换,示例4:空间图形相对于任意直线ax+by+c=0进行对称变换 例如,求解点P(x,y)相对于直线ax+by+c=0进行对称变换后的坐标。,求解思想:类似围绕点的旋转变换,先将图形坐标变换成能够使用已知基本变换的新坐标表示,再对新坐标使用基本变换,然后将变换结果再逆变换到原来的坐标系下。,0,1,2,3,4,5,示例4,求解步骤:,1、将直线坐标平移使其过原点, 直线方程表示成截距式方程 其平移矩阵为:,示例4,2、将新直线绕原点顺时针旋转角, 其旋

14、转矩阵为:,其中,,示例4,3、将旋转后得到的坐标再对x轴作对称变换,此时,对称变换的矩阵为:,4、此时新坐标系下面的对称变换完成,再变换到原来的老坐标表示下,先逆时针旋转角,其变换矩阵为顺时针旋转的逆矩阵:,示例4,示例4,5、然后再向上平移,其平移矩阵为刚才平移矩阵的逆矩阵:,因此,关于平面上任意一条直线ax+by+c=0进行对称变换后的坐标为:,其对称矩阵为:,6.4 裁剪,什么是裁剪?,裁剪:确定图形中哪些部分落在指定区域之内,哪些落在区域之外,以便只处理落在指定区域内的那部分图形。这个选择过程称为裁剪。,裁剪有什么好处? 加快可见性处理、阴影处理等操作 对窗口或者图片的一部分进行复制

15、、移动等操作。 提高整个图形系统的效率 裁剪的类型 二维裁剪和三维裁剪 规则区域和不规则区域,6.4.1 点的裁剪,(xL,yB ),(xR,yT),是图形裁剪中最基本的问题,点p(x, y)位于矩形裁剪窗口 之内的条件是,XL= X = XR 并且 YB= Y = YT,6.4 裁剪,直线与区域的位置关系:,1、全内,2、全外,3、边界相交,6.4.2 线段的裁剪,6.4.2 线段的裁剪,线段裁剪的基本思路: 1、线段是否全部位于裁剪区域之外,是则结束; 2、线段是否全部位于裁剪区域之内,是则转到4; 3、计算该线段与窗口边界的交点,依次将直线分成两个部分,丢弃不可见部分,对剩下的部分转到2

16、; 4、保留并显示该线段。,6.4.2 线段的裁剪,算法出发点: 快速确定全内和全外的情况; 对于相交的情况,设法减少求交次数和计算量;,6.4.2.1 Cohen-Sutherland端点编码算法,基本思想:将屏幕分成9个区域编码,然后根据编码之间的位逻辑操作确定直线与区域的关系。,编码规则 一个顶点使用四位编码表示,上 右 左,1 1 1 1,6.4.2.1 Cohen-Sutherland端点编码算法,测试方法: 1、如两个端点代码均为0(code1 | code2 = 0),则该线段位于窗口内; 2、如两端点四位代码按位逻辑与结果为非0 (code1&code2 != 0) ,则该线段完全位于窗口外部,弃;,3、如两端点四位代码按位逻辑与结果为0,则该线段的可见性需要进一步判断,需计算线段与边界交点,然后转到1;,线段与窗口边界的交点求法,教材第170页,6.4.2.1 Cohen-Sutherland端点编码算法,算法步骤 (1)输入直线段的两端点坐标:p1(x1,y1)、p2(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号