《计算机图形学分解优秀PPT.ppt》由会员分享,可在线阅读,更多相关《计算机图形学分解优秀PPT.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机图形学第第第第4 4 4 4章章章章 变换和裁剪变换和裁剪变换和裁剪变换和裁剪 本章的目的v用数学的方法推导出物体的几何形态在不同视用数学的方法推导出物体的几何形态在不同视察方式下所呈现的视图之间的几何关系,即几察方式下所呈现的视图之间的几何关系,即几何变换,如平移、放缩、旋转等何变换,如平移、放缩、旋转等v如何求出图形在窗口内的部分进行显示,或者如何求出图形在窗口内的部分进行显示,或者说显示图形时如何把窗口外的部分裁剪掉说显示图形时如何把窗口外的部分裁剪掉22009-2010-2:CG:SCUEC4.1 变换的数学基础4.2 图形显示中的基本概念4.3 几何变换4.4 裁剪32009-
2、2010-2:CG:SCUECv点和距离v矢量矢量和、矢量的数乘、矢量的模、单位矢量、矢量的点乘、矢量的叉乘v矩阵矩阵的加法、矩阵的数乘、矩阵的乘法、单位矩阵、矩阵的转置、矩阵的逆42009-2010-2:CG:SCUEC计算机图形学4.2 4.2 4.2 4.2 图形显示中的基本概念图形显示中的基本概念图形显示中的基本概念图形显示中的基本概念v1 1、图形数字化(图形数字建模)、图形数字化(图形数字建模)v为了使计算机处理几何图形,必需对图形进行数为了使计算机处理几何图形,必需对图形进行数字化,因为计算机只能处理数字,计算机图形也字化,因为计算机只能处理数字,计算机图形也是以数字的形式进行加
3、工和处理的。是以数字的形式进行加工和处理的。v坐标建立了几何图形和数字之间的关系,为了使坐标建立了几何图形和数字之间的关系,为了使显示的图形数字化,要为数字化的图形建立坐标显示的图形数字化,要为数字化的图形建立坐标系。系。图形的数字化图形的数字化图形操作图形操作图形输出图形输出v计算机处理图形的过程一般分为三个阶段:计算机处理图形的过程一般分为三个阶段:62009-2010-2:CG:SCUEC模型坐标系:为了便利建立图形的数字模型,常常依模型坐标系:为了便利建立图形的数字模型,常常依据它的几何形态选择坐标系,因此在图形的处理过程据它的几何形态选择坐标系,因此在图形的处理过程中,每个图形模型都
4、有自己的坐标系,这个坐标系称中,每个图形模型都有自己的坐标系,这个坐标系称为模型坐标系或局部坐标系为模型坐标系或局部坐标系世界坐标系:一个图形场景往往有多个图形组成,为世界坐标系:一个图形场景往往有多个图形组成,为了描述它们之间的关系,须要把它们置于一个统一的了描述它们之间的关系,须要把它们置于一个统一的坐标系中,该坐标系称为世界坐标系坐标系中,该坐标系称为世界坐标系xyzxyzxyz世界坐标系世界坐标系模型坐标系模型坐标系72009-2010-2:CG:SCUECv2、图形操作:、图形操作:v平移、放缩或旋转等变换平移、放缩或旋转等变换,三维空间中的对象要三维空间中的对象要在二维的屏幕上表示
5、出来,须要进行投影变换在二维的屏幕上表示出来,须要进行投影变换等等等等近平面近平面82009-2010-2:CG:SCUECZv模型坐标系世界坐标系XYZx1y1z1x2y2z2观察坐标系Yv视察坐标系:在图形显示或处理过程中,用户往往须要从不同角度视察坐标系:在图形显示或处理过程中,用户往往须要从不同角度对图形进行视察,须要产生不同角度的视图,假如在世界坐标系中对图形进行视察,须要产生不同角度的视图,假如在世界坐标系中产生不同角度的视图,投影变换所涉及的计算将相对困难。此时可产生不同角度的视图,投影变换所涉及的计算将相对困难。此时可依据视图所在的投影平面建立一个新的坐标系,称为视察坐标系,依
6、据视图所在的投影平面建立一个新的坐标系,称为视察坐标系,使世界坐标系中的随意投影平面为视察坐标系中的平面。把世界坐使世界坐标系中的随意投影平面为视察坐标系中的平面。把世界坐标系中的图形变换到视察坐标系中,从而可大大简化投影变换。标系中的图形变换到视察坐标系中,从而可大大简化投影变换。92009-2010-2:CG:SCUEC视见体:有时为了突出图形的某一部分而只显示部分视见体:有时为了突出图形的某一部分而只显示部分图形,这时可以定义一个视见体,限定要绘制的图形图形,这时可以定义一个视见体,限定要绘制的图形区域。一般是一个四棱台或四棱柱。区域。一般是一个四棱台或四棱柱。图4.5 视见体、窗口和视
7、口VXYU视口屏幕窗口投影平面视点XYZ近平面远平面窗口窗口:视见体投影到视见体投影到投影平面上形成的一投影平面上形成的一个矩形个矩形视口:在投影平面上视口:在投影平面上形成形成XYUV。为了。为了在屏幕或绘图纸上指在屏幕或绘图纸上指定显示图形的位置,定显示图形的位置,须要在其上定义一个须要在其上定义一个矩形,该矩形称为视矩形,该矩形称为视口。口。102009-2010-2:CG:SCUECv3、图形输出:、图形输出:v计算机对数量化的显示图形在图形显示器上绘制,计算机对数量化的显示图形在图形显示器上绘制,也就是把投影平面中的投影图形输出在输出设备也就是把投影平面中的投影图形输出在输出设备上,
8、须要在输出设备上建立一个坐标系。上,须要在输出设备上建立一个坐标系。v设备坐标系:在输出设备上建立的坐标系是设备设备坐标系:在输出设备上建立的坐标系是设备坐标系,输出设备假如是屏幕就是屏幕坐标系。坐标系,输出设备假如是屏幕就是屏幕坐标系。有可能是三维的如机械手运动轨迹的三维坐标系。有可能是三维的如机械手运动轨迹的三维坐标系。我们常用的是屏幕坐标系。我们常用的是屏幕坐标系。v有些图形系统,对设备坐标系进行了规范化,将有些图形系统,对设备坐标系进行了规范化,将坐标范围限定在区间坐标范围限定在区间x,y,z|0 x1,0y1,0z1内,称为标准化设备坐标系内,称为标准化设备坐标系 112009-20
9、10-2:CG:SCUEC近平面近平面 图形的显示流程对窗口对窗口剪剪 裁裁窗口至视窗口至视口的变换口的变换显示或显示或绘绘 图图世界坐标系世界坐标系的三维变换的三维变换投影投影122009-2010-2:CG:SCUEC计算机图形学4.3 4.3 4.3 4.3 几几几几 何何何何 变变变变 换换换换 v视察一个物体,由于视察角度或物体位置的变更,视察一个物体,由于视察角度或物体位置的变更,我们会看到不同的画面。我们会看到不同的画面。v1.1.视察角度的变更视察角度的变更-取景变换取景变换v2.2.物体位置的变更物体位置的变更-模型变换模型变换(几何变换几何变换)v两种变换本质是相同的两种变
10、换本质是相同的,取景变换是可以用模型变取景变换是可以用模型变换来实现的换来实现的,不过有时用一种方法考虑比另一种方不过有时用一种方法考虑比另一种方法考虑更简洁一些。这里只探讨模型变换。法考虑更简洁一些。这里只探讨模型变换。v困难的图形变换都可以归结为对点的变换,后面困难的图形变换都可以归结为对点的变换,后面的变换都是针对空间中随意点的。的变换都是针对空间中随意点的。v因为二维变换是三维变换的特例,下面仅探讨空因为二维变换是三维变换的特例,下面仅探讨空间中的三维变换。间中的三维变换。142009-2010-2:CG:SCUEC总结以上这些变更后的图形结果,可以得到如下的结论:总结以上这些变更后的
11、图形结果,可以得到如下的结论:1 1、图形变更了,但原图形的构成规则、图形变更了,但原图形的构成规则(拓扑关系拓扑关系)没有没有变更;变更;2 2、图形发生的变更,是因为其顶点位置、图形发生的变更,是因为其顶点位置(几何关系几何关系)的的变更确定的。变更确定的。这种通过维持图形的拓扑关系不变,而仅变更图形的这种通过维持图形的拓扑关系不变,而仅变更图形的几何关系来实现图形变更的方法,称之为图形的几何变换。几何关系来实现图形变更的方法,称之为图形的几何变换。先看看图形的几种常见变更:先看看图形的几种常见变更:152009-2010-2:CG:SCUECv点p(x,y,z)由点p(x,y,z)在x,
12、y和z轴方向分别移动距离x,y和z得到。两点坐标间的关系为其矩阵形式为其矩阵形式为 x=x+x y=y+y z=z+z基本变换平移pP162009-2010-2:CG:SCUEC放缩放缩v设点设点A(x,y,z)经缩放变换后得点经缩放变换后得点A(x,y,z),两点坐两点坐标间的关系为标间的关系为基本变换放大和缩小AA172009-2010-2:CG:SCUEC以图形中心为中心的缩放v以图形中心为中心的缩放变换以图形中心为中心的缩放变换v为了使缩放变换后的图形仍在原位置旁边,可另为了使缩放变换后的图形仍在原位置旁边,可另外定义一个相像中心点外定义一个相像中心点(xp,yp,zp).v先把整个图
13、形沿先把整个图形沿x,y和和z方向平移方向平移xp,yp和和zp,相像中心就移到了坐标原点相像中心就移到了坐标原点.(xp,yp,zp)以图形中心为中心进行缩放的步骤基本变换放大和缩小182009-2010-2:CG:SCUEC以图形中心为中心的缩放v以图形中心为中心的缩放变换以图形中心为中心的缩放变换v然后再对每一点依据式然后再对每一点依据式(*)作变换作变换.v最终再沿最终再沿x,y和和z方向平移方向平移xp,yp和和zp,把经过缩放把经过缩放的图形移回原处的图形移回原处.(xp,yp,zp)以图形中心为中心进行缩放的步骤基本变换放大和缩小192009-2010-2:CG:SCUECv这样
14、做的综合效果是图形以这样做的综合效果是图形以(xp,yp,zp)为中心作为中心作了缩放变换了缩放变换.以以(xp,yp,zp)为中心的缩放变换为中心的缩放变换中心缩放公式中心缩放公式基本变换放大和缩小202009-2010-2:CG:SCUECv设给定点设给定点P的坐标为(的坐标为(x,y,z)=(rcos ,rsin ,z),它绕它绕z轴旋转轴旋转角后,可得点角后,可得点P(x,y,z)XYZ旋转的图示旋转的图示基本变换旋转P(x,y,z)P(x,y,z)212009-2010-2:CG:SCUEC同理:同理:绕绕y和和x轴的旋转变换公式分别为轴的旋转变换公式分别为和和基本变换旋转22200
15、9-2010-2:CG:SCUEC思索v假如旋转轴不是坐标轴,而是随意一假如旋转轴不是坐标轴,而是随意一条通过坐标原点的轴线,怎么办?条通过坐标原点的轴线,怎么办?232009-2010-2:CG:SCUECv绕过原点的轴旋转绕过原点的轴旋转v绕空间任一通过坐标原点的轴绕空间任一通过坐标原点的轴,做旋转变换,需给出这根轴做旋转变换,需给出这根轴的方向的方向(Ax,Ay,Az)。v首先建立一个新的坐标系首先建立一个新的坐标系Ouvw,Ow轴的指向和轴的指向和(Ax,Ay,Az)的指向一样的指向一样.红色为新坐标系红色为新坐标系OuvwOuvw最终把旋转后的对象从坐标系最终把旋转后的对象从坐标系O
16、uvw变换到原坐标系变换到原坐标系oxyz中,中,这样绕给定的这样绕给定的,通过原点的轴通过原点的轴的旋转便完成了的旋转便完成了基本变换旋转242009-2010-2:CG:SCUEC再把要作旋转变换的对象从坐再把要作旋转变换的对象从坐标系标系oxyz变到坐标系变到坐标系Ouvw,在在坐标系坐标系Ouvw把物体绕把物体绕Ow轴旋轴旋转要求转动的角度转要求转动的角度v两个坐标系间的变换关系两个坐标系间的变换关系Ow轴方向的单位向量为轴方向的单位向量为 Ou轴可取在经过轴可取在经过O点并和点并和Ow轴垂直的任始终线上轴垂直的任始终线上,若若,则取则取v=(a13a32a12a33,a11a33a1
17、3a31,a12a31a11a32)=(a21,a22,a23)基本变换旋转252009-2010-2:CG:SCUEC,Ou轴方向的单位向量为轴方向的单位向量为 若若Ov轴的单位向量为轴的单位向量为v=wu,即,即v坐标系变换公式坐标系变换公式从坐标系从坐标系oxyz至坐标系至坐标系Ouvw的变换为的变换为(4)由由于于向向量量u,v,w是是相相互互正正交交的的单单位位向向量量,可可知知矩矩阵阵A的的逆逆矩矩阵就是阵就是A的转置矩阵的转置矩阵AT,即,即这样这样,从坐标系从坐标系Ouvw至坐标系至坐标系oxyz的变换公式为的变换公式为 基本变换旋转262009-2010-2:CG:SCUEC
18、由式由式(4),式式(3)和式和式(5)可得变换公式为可得变换公式为(6)基本变换旋转v 思索:假如旋转轴通过点思索:假如旋转轴通过点(xp,yp,zp),而,而不不v 通过坐标原点,应如何处理?通过坐标原点,应如何处理?272009-2010-2:CG:SCUEC1.先通过平移变换把对象沿先通过平移变换把对象沿x,y,z轴方向平移轴方向平移 -xp,-yp,-zp,旋转轴经过坐标原点,但方,旋转轴经过坐标原点,但方向不变;向不变;2.图形作绕通过坐标原点的轴的旋转变换;图形作绕通过坐标原点的轴的旋转变换;3.将图形沿将图形沿x,y,z轴方向平移轴方向平移xp,yp,zp,得,得到绕随意轴的旋
19、转变换。到绕随意轴的旋转变换。282009-2010-2:CG:SCUEC设设矩矩形形OABC沿沿x轴轴(称称为为方方向向轴轴)方方向向切切变变,y轴轴称称为依靠轴。切变的程度由参数为依靠轴。切变的程度由参数S=tg确定确定s的的几几何何意意义义是是对对y=1的的点点在在切切变变时时沿沿x轴轴正正向向平平移移的的距距离。设点离。设点(x,y,z)经错切变换后成为经错切变换后成为(x,y,z),则,则(7)假如依靠轴和方向轴改成其它的坐标轴,假如依靠轴和方向轴改成其它的坐标轴,式(式(7)中的矩阵要作相应的变动。)中的矩阵要作相应的变动。错切AABBxOyC基本变换错切变换292009-2010
20、-2:CG:SCUECv在实际绘图时,常要对对象连续做几次变换,例如在实际绘图时,常要对对象连续做几次变换,例如作平移后,作旋转,再作放大等。这样对每一点的作平移后,作旋转,再作放大等。这样对每一点的坐标要依次用式坐标要依次用式(1),式,式(6)和式和式(3)计算,这样计计算,这样计算量较大。假如只有旋转和放大,则可把式算量较大。假如只有旋转和放大,则可把式(6)和和式式(3)合并成一个矩阵合并成一个矩阵(8)v 但运用平移变换,由于变换式右端多出一项,但运用平移变换,由于变换式右端多出一项,v 变换矩阵无法实现合并,怎么办?变换矩阵无法实现合并,怎么办?302009-2010-2:CG:S
21、CUEC为使平移变换也能象其他变换那样简洁合并,可以接受齐次坐标。为使平移变换也能象其他变换那样简洁合并,可以接受齐次坐标。齐次坐标齐次坐标如:二维点如:二维点x y 用用 X Y H表示表示空间点空间点x y z 用用 X Y Z H表示表示正常化齐次坐标正常化齐次坐标怎样由齐次坐标求正常化齐次坐标怎样由齐次坐标求正常化齐次坐标?H可以随意选取可以随意选取,所以一个一般坐标的齐次坐标表示不是唯一的。所以一个一般坐标的齐次坐标表示不是唯一的。如二维平面上的一点如二维平面上的一点3,4,用齐次坐标表示为用齐次坐标表示为3,4,16,8,26,8,2 1.5,2,0.5通常将通常将H=1的齐次坐标
22、称为的齐次坐标称为x=X/Hy=Y/Hz=Z/Hv齐次坐标表示法就是用齐次坐标表示法就是用n+1维向量表示维向量表示n维向量维向量变换的表示法统一变换的表示法统一变换合成的问题变换合成的问题引入齐次坐标引入齐次坐标 312009-2010-2:CG:SCUEC三维图形变换矩阵通式为三维图形变换矩阵通式为4 x 4 方阵方阵比例、对称、旋转、错切比例、对称、旋转、错切平移平移投影变换投影变换总体比例变换总体比例变换三维空间点的变换为三维空间点的变换为x y z 1 T=x y z 1变换前点的坐标变换前点的坐标变换后点的坐标变换后点的坐标三维图形的变换矩阵三维图形的变换矩阵l m n 1 x 3
23、 p q rTs1x1三维变换齐次坐标矩阵表示的一般形式 322009-2010-2:CG:SCUEC一、全比例变换一、全比例变换变换矩阵主对角线变换矩阵主对角线上的元素上的元素a、e、j、s的的作用是图形产生比例变作用是图形产生比例变换。换。0S1,为图形整体缩小,为图形整体缩小S0,为对称变换,为对称变换比例变换比例变换S1,为恒等变换,为恒等变换x y z 1 T=x y z s=x/s y/s z/s 1x y z 1 T=x y z s=x/s y/s z/s 1若若a=e=j,,则图形三方向的缩放比例相同;,则图形三方向的缩放比例相同;若若a e j,,则图形将产生畸变,则图形将产
24、生畸变二、缩放变换二、缩放变换x y z 1 T=ax ey jz 1=x y z 1z zx xy y332009-2010-2:CG:SCUEC三、对称变换三、对称变换1.1.关于关于XOYXOY平面的对称平面的对称特点:特点:x y x y 值不变,值不变,z z坐标符号改变坐标符号改变x y z 1 T=x y x y z 1 T=x y z 1z 12.2.关于关于YOZYOZ平面的对称平面的对称特点:特点:z y z y 值不变,值不变,x x坐标符号改变坐标符号改变x y z 1 T=-x y z 1x y z 1 T=-x y z 13.3.关于关于XOZXOZ平面的对称平面的
25、对称特点:特点:x zx z值不变,值不变,y y坐标符号改变坐标符号改变x y z 1 T=x-y z 1x y z 1 T=x-y z 1342009-2010-2:CG:SCUEC四、平移变换四、平移变换指空间的立体从一个位置移动到另一位置时,指空间的立体从一个位置移动到另一位置时,其形态、大小都不发生变换的变换其形态、大小都不发生变换的变换例:一单位立方体,现将它沿例:一单位立方体,现将它沿 x x方向移动方向移动3 3单位,单位,y y方向移动方向移动2 2单位,单位,z z方向移动方向移动3.53.5单位单位0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 11
26、0 1 11 1 0 11 1 1 1S*T=3 2 3.5 1 3 2 4.5 13 3 3.5 13 3 4.5 14 2 3.5 14 2 4.5 14 3 3.5 14 3 4.5 1352009-2010-2:CG:SCUEC五、旋转变换五、旋转变换1.1.绕绕X X轴旋转轴旋转 角角X X坐标不变坐标不变Y Y、Z Z坐标发生变化坐标发生变化X XY YZ Z3.3.绕绕Z Z轴旋转轴旋转 角角Z Z坐标不变坐标不变X X、Y Y坐标发生变化坐标发生变化X XY YZ Z2.2.绕绕Y Y轴旋转轴旋转 角角Y Y坐标不变坐标不变X X、Z Z坐标发生变化坐标发生变化X XY YZ
27、Z362009-2010-2:CG:SCUECv某些图形软件包供应两种图形变换模式,可便某些图形软件包供应两种图形变换模式,可便利地限制变换的次序。利地限制变换的次序。v图形模式:矩阵合并时,先调用的矩阵放在右图形模式:矩阵合并时,先调用的矩阵放在右边,后调用的矩阵放在左边边,后调用的矩阵放在左边.也称为固定坐标系也称为固定坐标系模式。这种模式的特点是每一次变换均可看成模式。这种模式的特点是每一次变换均可看成相对于原始坐标系执行的。相对于原始坐标系执行的。v空间模式:又称活动坐标系模式。先调用的矩空间模式:又称活动坐标系模式。先调用的矩阵放在左边,后调用的矩阵放在右边阵放在左边,后调用的矩阵放
28、在右边,连续执行连续执行几次变换时,每一次变换均可看成是在上一次几次变换时,每一次变换均可看成是在上一次变换形成的新坐标系中进行的。变换形成的新坐标系中进行的。372009-2010-2:CG:SCUECv图形模式图形模式在图形模式下如按下列流程在图形模式下如按下列流程1)至至5)绘图:绘图:1)绘制矩形)绘制矩形;2)绕)绕z轴旋转轴旋转30;3)绘制矩形)绘制矩形;4)沿)沿x轴平移距离轴平移距离2;5)绘制矩形)绘制矩形;(a)xyoxyoxy(b)(c)xxyyo图4.11 先旋转后平移123300123123300123321变换的模式图形模式1382009-2010-2:CG:SC
29、UEC在图形模式下如按下列流程在图形模式下如按下列流程1)至至5)绘图:绘图:1)绘制矩形绘制矩形;2)沿沿x轴平移距离轴平移距离2;3)绘制矩形绘制矩形;4)绕绕z轴旋转轴旋转30;5)绘制矩形绘制矩形;yxxy(c)o(a)(b)图4.12 先平移后旋转123300 xxyyooxy132123123以上两个例子中每一次变换均可看成相对于以上两个例子中每一次变换均可看成相对于原始坐标系原始坐标系执行的执行的变换的模式图形模式2392009-2010-2:CG:SCUECv证明随意的两个连续平移、或两个连续缩证明随意的两个连续平移、或两个连续缩放、或两个连续的关于任一坐标轴的旋转放、或两个连
30、续的关于任一坐标轴的旋转是可交换依次的是可交换依次的v连续的多个变换可以表示成一系列矩阵的连续的多个变换可以表示成一系列矩阵的乘积,但变换次序的不同会导致输出图形乘积,但变换次序的不同会导致输出图形的不同,为什么?的不同,为什么?矩阵乘法不满足交换律矩阵乘法不满足交换律402009-2010-2:CG:SCUEC可看成先对坐标系可看成先对坐标系oxy作旋转,得到相应的坐标系作旋转,得到相应的坐标系oxy,然后再相对于新坐标系然后再相对于新坐标系oxy作平移得到最终结果。作平移得到最终结果。30 Rotate(30,0,0,1)Translate(2,0,0)draw_Rectangle()xy
31、xyxyo1)绕)绕z轴旋转轴旋转30;2)沿沿x轴平移距离轴平移距离2;3)绘制矩形;绘制矩形;变换的模式空间模式412009-2010-2:CG:SCUECv任何变换结果都可以运用不同的变换模式得到,如空间模任何变换结果都可以运用不同的变换模式得到,如空间模式的例子,变换后的结果和图形模式的例式的例子,变换后的结果和图形模式的例2是相同的,只是相同的,只是变换时的参照的坐标系不同。是变换时的参照的坐标系不同。v须要变换时,应当选择哪种变换模式?须要变换时,应当选择哪种变换模式?v在绘图的状况下多用图形模式,因为用户比较简洁估计变在绘图的状况下多用图形模式,因为用户比较简洁估计变换后的结果。换后的结果。v整体变换的基础上再作一些较独立的局部变换时整体变换的基础上再作一些较独立的局部变换时,常用空常用空间模式,如机械手的位置变换间模式,如机械手的位置变换v两种变换模式只是人们考虑问题时思维的角度不同,一种两种变换模式只是人们考虑问题时思维的角度不同,一种是在原坐标系下考虑,一种是在新坐标系下考虑,接受那是在原坐标系下考虑,一种是在新坐标系下考虑,接受那种考虑是以便利为准则。种考虑是以便利为准则。变换的模式模式的选择422009-2010-2:CG:SCUEC计算机图形学结结结结 束束束束