第06章:计算机图形学基础2014_第1页
第06章:计算机图形学基础2014_第2页
第06章:计算机图形学基础2014_第3页
第06章:计算机图形学基础2014_第4页
第06章:计算机图形学基础2014_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章计算机图形学基础16.1计算机图形学概述工程图样是机械制造和土木建筑等工程技术领域中用于表达设计思想、指导生产和进行技术交流的重要工具,是工程界的“共同语言”。为了绘制工程图样和提高绘图效率,人们在实践中创造出了各种绘图工具,从简单的三角板、圆规、丁字尺、图板到各种模板和机械式绘图机等,基于这些绘图工具的手工绘图方式不仅速度慢、精度低,而且十分繁琐,工作量大。希望用自动绘图来代替手工绘图,计算机绘图的出现使这个愿望变成了现实。2计算机图形学概述随着与计算机绘图相关的软、硬件技术的不断发展和人们对有关理论和算法的深入研究,逐渐形成了一门新兴的学科——计算机图形学(ComputerGraphics,CG)。它是一门涉及物理学、数学、工程图学、数据结构和计算机技术等多门学科的交叉性学科CG研究怎样用计算机生成图形对象、图形的数据结构、存储结构以及对图形对象的操作处理。36.1.1计算机图形学的应用领域计算机图形学的发展只有50多年的历史,但它的发展却非常迅速。随着计算机技术的发展和显示器件工艺水平的不断提高及成本下降,计算机图形学的应用领域日益扩大,目前其应用领域主要包括:1.计算机自动绘图2.计算机辅助设计与制造3.事务管理中的交互式绘图4.系统模拟和过程监控5.资料检索和处理自学456.1.3图形处理的数学基础——自学6计算机图形学中的图形处理包括各种图形变换和图形的消隐与裁剪等技术。图形变换是计算机图形学的基本内容之一,通过图形变换可以由简单的图形生成较为复杂的图形,可以用二维图形来表示三维形体,也可以通过快速变换静态图形来获得动画效果。73.齐次坐标所谓齐次坐标表示法就是用一个n+1维向量表示一个n维向量的方法。从n+1维空间投影到n维空间中,仅存在“多对一”的变换关系83.齐次坐标普通意义下的坐标与齐次坐标的关系为一对多若二维坐标系下点(x,y)的齐次坐标表示为(wx,wy,w),则(w1x,w1y,w1),(w2x,w2y,w2),,(wmx,wmy,wm)都表示二维空间中同一个点(x,y)。例如(12,8,4)、(6,4,2)和(3,2,1)均表示同一点(3,2)的齐次坐标。93.齐次坐标类似地,三维空间中点的齐次坐标可表示为(wx,wy,wz,w)。当w=1时的齐次坐标系为规格化齐次坐标。10齐次坐标表示法的优点提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。例如:二维齐次坐标变换矩阵的一般形式是:11齐次坐标表示法的优点三维齐次坐标变换矩阵的一般形式是:如果不采用齐次坐标来表示,则平移变换等图形变换将无法和其它图形变换一起采用一种统一的变换矩阵来表示,从而不利于图形变换程序的编制。12可以表示无穷远点。例如

维空间中,

的齐次坐标实际上表示了一个n维空间中的无穷远点。对二维的齐次坐标

,当

时实际上表示直线

,即在上的连续点[x,y]逐渐趋近于无穷远,但其斜率不变。在三维情况下,利用齐次坐标表示视点在原点时的投影变换,其几何意义会更加清晰。齐次坐标表示法的优点131.坐标系CAD/CAM系统中的几何形体都具有一定的形状、大小和位置,计算机中各种几何元素的定义和图形的输入、输出都是在一定的坐标系下进行的。为了便于用户对图形的理解和提高计算机处理图形的效率,计算机图形学中提供了不同的坐标系。6.1.4坐标系及坐标变换141.坐标系在CAD/CAM图形系统中应用最广的是笛卡尔(Cartesian)直角坐标系。根据Z轴方向定义方式的不同,笛卡尔直角坐标系分为右手坐标系和左手坐标系:(1)右手直角坐标系:用右手握住Z轴,大拇指指向Z轴的正方向,其余四指从X轴转向Y轴;(2)左手直角坐标系:用左手握住Z轴,大拇指指向Z轴的正方向,其余四指从X轴转向Y轴;151.坐标系在一个图形系统通常还涉及如下几个坐标系的概念:1)世界坐标系2)建模坐标系3)观察坐标系4)设备坐标系5)规格化设备坐标系162)窗口和视区(1)窗口(2)视区(3)窗口——视区变换17(1)窗口对窗口(Window)的概念人们并不陌生,例如:人们站在房间里的窗口旁往外看,只能看到窗口内的景物,透过不同的窗口可以看到不同的景物,尽管外面的世界是无限的,但通过窗口只能看到现实世界的某个局部。用照相机的取景器对准景物拍照时,显示在取景器中的只是景物的一部分,此时照象机的取景器就相当于一个窗口。18(1)窗口在计算机图形学中引入窗口这一术语,用来将某一部分图形从整体图形中分离开来。19(1)窗口计算机图形学中的窗口:用户在用户坐标系下定义的确定显示内容的一个矩形区域。只有在这个区域内的图形才会在设备坐标系下显示或输出,而窗口以外的图形将被裁剪掉。优点:方便地显示用户感兴趣的部分图形,窗口的适当选用,还可以较方便地观察用户的整图和局部图形,便于对图形进行局部修改和图形质量评价。20(1)窗口可以采用窗口左下角的坐标(WXL,WYB)和右上角的坐标(WXR,WYT)来确定窗口的大小和位置,这里坐标缩写中的W表示Window,X和Y表示坐标轴,而L表示Left,B表示Bottom,R表示Right,T表示Top。通过改变这两个坐标值可以改变窗口的大小和位置,以便观察不同位置的图形,并控制图形的大小。21(2)视区视区(Viewport)定义为设备坐标系中的一个矩形区域,用于在图形设备上输出窗口中的图形,视区决定了窗口中的图形在图形设备上的显示位置和大小。视图作为图形输出设备上的一个有限的整数域,它可以通过视区左下角的坐标(VXL,VYB)和右上角的坐标(VXR,VYT)来确定窗口的大小和位置,通过改变这两个坐标值可以改变视区的大小和在图形设备上的输出位置,以便观察不同位置的图形,并控制图形的大小。22(2)视区视区的大小应当小于或等于图形设备的显示范围。可以在计算机屏幕等图形输出设备上同时显示几个不同的视区,分别用于显示不同的图形在交互式图形系统中通常把一个屏幕分成几个区域,用于作为不同的图形功能区,以方便用户操作。23屏幕的视图分区243)窗口——视区变换由于窗口是在用户坐标系中定义的,而视区是在设备坐标系中定义的,必须进行坐标变换,即把用户坐标系的坐标值转换为设备(如屏幕)坐标系中的坐标值,这种变换称为窗口——视区变换。建立用户坐标与设备坐标系之间的映射关系的过程253)窗口——视区变换根据两者图形的相似性原理,可以得到:263)窗口——视区变换如令:则上式可简化为273)窗口——视区变换齐次坐标的矩阵形式:窗口——视区变换矩阵。28ac时:视图区中的图形会有伸缩变化。在图形系统中,为了确保在视区中显示的图形不产生失真的现象,在定义窗口和视区时,应当确保窗口和视区的高度与宽度之间具有相同的比例。a=c=1,b=d=0时,且窗口与视区的坐标原点也相同:在视图区产生与窗口区相同的图形。296.2GeometricTransformations在计算机绘图中,经常要进行的是诸如比例、平移、对称、旋转和投影等不改变原有图形拓扑关系的几何变换,即这类图形变换不改变原有图形中各个几何对象之间的连接关系和平行关系。由于体是由若干面构成,而面则由若干线组成,点的运动轨迹便构成了线,因此对于线框图形的变换,通常将点作为图形变换的基础,把构成图形的一系列顶点作几何变换后,连接新的顶点将得到图形变换后的图形。306.2图形几何变换在解析几何中通常用向量[xy]来表示二维平面上的一个点,而用向量[xyz]来表示三维空间里的一个点。由于点是构成任何图形的最基本的要素,一般将图形上所有点的二维向量和三维向量写成矩阵形式316.2图形几何变换在数学上通过对点集矩阵进行相应的矩阵运算来实现图形变换用来实现图形变换的矩阵称为“变换矩阵”。构成计算机图形学的数学基础Transformationofapointrepresentsthecoreproblemingeometrictransformationsbecauseitisthebasicelementingeometricmodeling.32点的变换点的矩阵[x,y]和一个一般的2×2变换矩阵(transformationmatrix)相乘意义33为了便于用“变换矩阵”实现图形变换,一般采用图形的规格化齐次坐标来表示,即二维图形变换前的一点坐标用[x,y,1]来表示,变换后的坐标用[x*,y*,1]表示。三维图形变换前的一点坐标用[x,y,z,1]来表示,变换后的坐标用[x*,y*,z*,1]来表示。Homogeneousrepresentation346.2.1二维图形的几何变换1.二维图形变换矩阵2.平移变换3.比例变换4.对称变换5.旋转变换6.错切变换7.复合变换351.二维图形变换矩阵二维图形的几何变换矩阵为:361.二维图形变换矩阵从变换功能上可以将变换矩阵T2D分为四个子矩阵:(1)利用a,b,c,d可实现图形的缩放、旋转、对称和错切等几何变换;(2)利用[cf]可实现图形的平移变换;(3)利用g,h可实现图形的投影变换,其中g的作用是在x轴的1/g处产生一个灭点,h的作用是在y轴的1/h处产生一个灭点;(4)利用i可实现对整个图形的伸缩变换,也称为全比例变换。37平面图形的二维几何变换382.平移变换(Translation)393.比例变换Scaling当Sx=Sy=1时,图形不变,称为恒等比例变换。当Sx=Sy>1时,图形沿两个坐标轴方向等比例放大。当Sx=Sy<1时,图形沿两个坐标轴方向等比例缩小。当SxSy时,图形沿两个坐标轴方向作非均匀的比例变换。403.比例变换414.对称变换

Reflection当b=d=0,a=-1,e=1时,有x*=-x,y*=y,是对y轴的对称变换。当b=d=0,a=1,e=-1时,有x*=x,y*=-y,是对x轴的对称变换。当b=d=0,a=e=-1时,有x*=-x,y*=-y,是对原点的对称变换。当b=d=1,a=e=0时,有x*=y,y*=x,是对直线y=x的对称变换。当b=d=-1,a=e=0时,有x*=-y,y*=-x,对直线y=-x的对称变换。424.对称变换435.旋转变换Rotation规定逆时针方向为旋转角

的正方向,则旋转变换矩阵为:二维图形绕原点顺时针旋转

角的变换矩阵为:441)当d=0时,有

,此时图形的y坐标不变,x坐标随初值(x,y)及变换系数b作线性变化;当b>0时,图形沿+x方向作错切变换;当b<0时,图形沿-x方向作错切变换。原来平行于y轴的直线向x方向错切成与x轴成α角的直线,且有

。6.错切变换452)当b=0时,有

,此时图形的x坐标不变,y坐标随初值(x,y)及变换系数d作线性变化;当d>0时,图形沿+y方向作错切位移;当d<0时,图形沿-y方向作错切位移。原来平行于x轴的直线向y方向错切成与y轴成θ角的直线,且有

。6.错切变换466.错切变换3)当b0且d0时,有,图形沿x、y两个方向同时作错切变换。

47沿X方向和Y方向的错切变换48相对于任意参考点

的比例变换或者相对于任意直线的对称变换等情况,就不可能仅用一种基本变换来实现,而必须由两种或两种以上的基本变换才能实现。由几个基本变换组合而成的变换称为组合变换,也称为复合变换。其变换矩阵是将有关的基本变换矩阵依次相乘,即通过对图形进行一次以上的几何变换来实现。7.复合变换497.复合变换1)复合平移变换2)相对于坐标原点的复合比例变换3)相对于坐标原点的复合旋转变换4)相对于任意参考点的复合比例变换5)相对于任意参考点的复合旋转变换6)相对于任意平面直线的对称变换501)复合平移变换图形连续进行两次平移,从复合平移的变换矩阵中可以看出,两次平移变换的效果是通过“累加”来实现的。512)相对于坐标原点的复合比例变换图形连续进行两次比例变换,从复合比例的变换矩阵中可以看出,两次比例变换的效果是通过“累乘”来实现的。523)相对于坐标原点的复合旋转变换图形连续进行两次旋转变换,从复合旋转的变换矩阵中可以看出,两次旋转变换的效果是通过旋转角度的“累加”来实现的。53复合变换比例变换和旋转变换都与参考点有关的,上面介绍的都是相对于原点所作的比例和旋转变换。相对于任意参考点作比例和旋转变换?544)相对于任意参考点

的复合比例变换555)相对于任意参考点的复合旋转变换566)相对于任意平面直线的对称变换设平面任意直线的方程为:,则该直线在X轴和Y轴上的截距分别为,设直线与X轴的夹角为α,则有:相对于任意平面直线的对称变换可通过以下5个步骤来实现:576)相对于任意平面直线的对称变换(1)首先平移该直线,使得它通过原点。沿X轴或Y轴平移都可以,这里不妨将直线沿X轴平移至通过原点,其变换矩阵为:586)相对于任意平面直线的对称变换(2)将直线绕原点顺时针旋转α角,使之与X轴或Y轴重合,这里不妨使之与X轴重合,其变换矩阵为:596)相对于任意平面直线的对称变换(3)对X轴作对称变换,其变换矩阵为:606)相对于任意平面直线的对称变换(4)绕原点逆时针旋转α角,使直线回复到原来与X轴成α角的位置,其变换矩阵为:616)相对于任意平面直线的对称变换(5)沿X轴平移直线,使之回到原来的位置,其变换矩阵为:626)相对于任意平面直线的对称变换将上述5个步骤的变换依次相乘,即得到相对于任意平面直线的对称变换矩阵,即:638.几点说明1)平移变换只改变图形的位置,不改变图形的大小和形状;2)旋转变换仍保持图形各部分间的线性关系和角度关系,变换后直线的长度不变;3)比例变换可改变图形的大小和形状,但变换前后的形状相似;648.几点说明4)错切变换引起图形角度关系的改变,甚至导致图形发生畸变;5)一般情况下,在复合变换中基本变换的顺序一般是不能颠倒的。组合变换的顺序不同,则组合变换的结果一般也不同。65组合变换中变换顺序对图形的影响66几何变换对图形大小、形状和位置的影响67几何变换对图形大小、形状和位置的影响686.2.3三维图形的几何变换1.三维图形几何变换矩阵2.平移变换3.比例变换4.对称变换5.错切变换6.绕坐标轴的旋转变换7.绕任一轴的旋转变换691.三维图形几何变换矩阵三维图形几何变换的变换矩阵可用下式表示:比例、旋转、对称和错切变换平移变换透视投影变换全局比例变换701.三维图形几何变换矩阵在三维图形变换中一般采用右手坐标系,且规定图形绕各个坐标轴旋转的正方向为右手螺旋方向。712.平移变换三维图形的平移变换矩阵为:72三维图形的平移变换733.比例变换三维图形的比例变换矩阵为:Sx、Sy和Sz分别为图形沿X轴、Y轴和Z轴的比例因子,实现图形的放大或缩小。743.比例变换若比例变换的参考点F为,则其三维比例变换过程可以分解为以下三个步骤实现:1)将参考点F平移至坐标原点;2)在新坐标系下相对原点(即原参考点)作三维比例变换;3)将参考点F平移回原来的位置。753.比例变换对空间任意参考点F(xf,yf,zf)的三维复合比例变换矩阵为:764.对称变换三维对称变换包括对原点、对坐标轴和对坐标平面的对称变换,其中最常用的是对坐标平面的对称变换(镜象)。774.对称变换1)对XOY坐标平面的对称变换,其变换矩阵为:变换后点的坐标:784.对称变换2)对YOZ坐标平面的对称变换,其变换矩阵为:变换后点的坐标:794.对称变换3)对XOZ坐标平面的对称变换,其变换矩阵为:变换后点的坐标:805.错切变换三维错切变换是指图形沿X、Y、Z三个方向产生错切,三维错切变换是画斜轴测图的基础,其变换矩阵为:815.错切变换变换后点的坐标:错切变换后三个坐标值的变化均与点的其它两个坐标值有关。根据参数b、c、d、f、h和i的不同取值情况,三维错切变换可以分为沿X轴含y错切、沿X轴含z错切;沿Y轴含x错切、沿Y轴含z错切;沿Z轴含y错切和沿Z轴含x错切等不同情况。825.错切变换其中沿X轴含y的错切变换矩阵为:变换后点的坐标:835.错切变换沿Z轴含y的错切变换矩阵为:变换后点的坐标:846.绕坐标轴的旋转变换在右手坐标系下图形绕三个坐标轴按右手螺旋法则逆时针旋转角的变换公式856.绕坐标轴的旋转变换1)绕x轴旋转:866.绕坐标轴的旋转变换2)绕y轴旋转:876.绕坐标轴的旋转变换3)绕z轴旋转:88设旋转轴AB由空间任意一点

及其方向角(,,),空间一点

绕AB轴旋转到

,即要使得:

求变换矩阵7.绕任一轴的旋转变换89空间一点绕任意轴旋转的变换过程示意图907.绕任一轴的旋转变换求

的基本思想是:以为新的坐标原点,并使AB分别绕X轴旋转角、再绕Y轴旋转角使之与Z轴重合,P点再绕Z轴转角,最后再做上述变换的逆变换,使之回到原来的位置。917.绕任一轴的旋转变换1)使A点平移到坐标原点。927.绕任一轴的旋转变换2)绕X轴旋转角:937.绕任一轴的旋转变换3)绕Y轴旋转角与Z轴重合,此时从Y轴往原点看,角是顺时针方向,故取负值947.绕任一轴的旋转变换4)经以上三步变换后,P绕AB旋转变为在新坐标系中P绕Z轴旋转角了。957.绕任一轴的旋转变换5)求Ry、Rx、TA的逆变换967.绕任一轴的旋转变换97运算实例已知一单位立方体通过xoy平面作三维反射98运算实例求解:一位于原点的单位立方体的三维错切,如图所示。996.2.5投影变换Projections图形显示设备的显示表面是一个二维平面,而人们所观察到的现实世界中的物体都是三维的,为了解决将观察到的三维物体在图形设备的二维显示平面上显示的问题,就需要用到投影的方法。在日常生活中当一个物体被阳光、月光或灯光照射时,在地面或墙壁上便会出现形体的影子,这就是投影的基本现象。找出光线、形体及其影子之间的关系和规律,总结出了投影理论和方法。1006.2.5投影变换投影理论中:承受影子的面称为投影面经过形体与投影面相交的光线称为投射线按照投影法通过形体的投射线与投影面相交得到的图形,称作该形体在投影面上的投影将投射线通过形体,向选定的投影面投射,并在该面上得到图形的方法叫投影法。象平面1016.2.5投影变换投影(Projection)的定义:把n维空间中的点投射到小于n维的空间中。一般较为常见的情况是将一个三维形体在二维平面上进行投影,所以通常所说的投影是指由三维形体变换成一个二维图形的过程把三维形体变为二维图形表示的过程称为投影变换。1026.2.5.1投影变换分类投影的形成过程:首先在三维空间中确定一个投影中心和—个投影平面,然后从投影中心引出一些投射线,这些直线通过形体中的每一个点后与投影平面相交,这样在投影平面上就形成了形体的投影。根据投影中心与投影平面之间距离的不同,投影分为平行投影和透视投影(中心投影)。1036.2.5.1投影变换分类当投影中心与投影平面的距离为无穷远时,投射线为一组平行线,这种投影称为平行投影(ParallelProjection)。根据投影方向是否垂直于投影平面,或者说投影方向是否与投影平面的法线方向一致,平行投影又可分为正平行投影和斜平行投影;而当投影中心与投影平面的距离为有限的数值时,此时投射线交于一点,形成灭点,这种投影称为透视投影(PerspectiveProjection)。104不同投影的示意图105投影分类1066.2.5.2正投影变换1071.正投影变换的变换矩阵投影方向垂直于投影平面且投影平面与三维坐标系的三个坐标平面之一平行的正平行投影称正投影(OrthographicParallelProjection),显然,在正投影中投影方向平行于某个坐标轴。工程制图中的三视图,即正视图(又称主视图)、俯视图和侧视图(又称左视图)均属于正投影。1081.正投影变换的变换矩阵三视图的生成就是把X、Y、Z坐标系下的形体分别投影到V、H和W平面,并进一步将三个投影视图在一个平面上画出。yx主视图V俯视图H侧视图W

一个直角棱台的三视图z1091.主视图主视图是通过将形体向V平面投影得到的,即令y=0,因此其变换矩阵为:变换后点的坐标:yx主视图V俯视图H侧视图W

一个直角棱台的三视图z1102.俯视图俯视图是通过将形体向H平面投影得到的,即首先令z=0,然后将得到的投影图绕X轴顺时针旋转90°,使其与V面共面,如有必要再向负Z轴方向平移一段距离,使之与V面的主视图投影之间保持一段距离。1112.俯视图变换矩阵变换后点的坐标:yx主视图V俯视图H侧视图W

一个直角棱台的三视图z1123.侧视图侧视图是通过先将形体向左侧面W投影,即令X=0,然后将得到的投影图绕Z轴逆时针旋转90°,使其与V面共面,如有必要再向负X轴方向平移一段距离,使之与V面的主视图投影之间保持一段距离。1133.侧视图变换矩阵变换后点的坐标:yx主视图V俯视图H侧视图W

一个直角棱台的三视图z1146.2.5.3轴测投影变换在实际工程应用中,由于三视图缺乏立体感机械设计中常借助轴测图以获得生动、直观的效果。将物体连同它的三个坐标平面同时倾斜于一个投影面,然后用正平行投影法向该投影面投影就得到轴测图。1156.2.5.3轴测投影变换显然,在轴测投影中,投影平面并不平行于任何一个坐标平面,或者说投影线与每个坐标轴均成一定的角度。以一个立方体为例,右手坐标系中,轴测图的产生过程由以下4个步骤组成:(1)首先将立方体置于观察者的正前方,这时候只能看到它的正面,它是一个正方形;(2)将立方体绕Z轴逆时针旋转角,这时可以进一步观察到它的左侧面;(3)将立方体继续绕X轴顺时针旋转角,这时可以进一步观察到它的上表面;(4)在上述三个步骤中如果坐标系不变,将形体向XOZ平面正投影即得到轴测图。1166.2.5.3轴测投影变换轴测投影变换由上述变换过程中后三个步骤对应的变换矩阵组合而成,即:1176.2.5.3轴测投影变换在原坐标轴X、Y和Z轴上各取一点距原点O为单位长度的点A、B、C1186.2.5.3轴测投影变换1196.2.5.3轴测投影变换根据轴测变换后三个轴向变形系数之间的关系,工程中常用的轴测投影有:正等轴测投影正二轴测投影1201.正等轴测投影变换当满足:轴测投影称为正等轴测投影,得到的轴测图为正等轴测图1211.正等轴测投影变换120°120°120°(a)正等轴测yzx投影平面1222.正二轴测投影变换当轴向系数满足:1232.正二轴测投影变换1243.斜轴测投影变换斜轴测投影变换是通过先将形体沿X轴含y进行错切变换,然后再将形体沿Z轴含y进行错切变换,最后将形体向XOZ平面进行正投影来实现,斜轴测投影变换的变换矩阵是上述三个基本变换的组合:1253.斜轴测投影变换在原坐标轴X、Y和Z轴上各取一点距原点O为单位长度的点A、B、C126斜轴测投影变换的轴间角和轴向变形系数1273.斜轴测投影变换1283.斜轴测投影变换1293.斜轴测投影变换130立体图的正等测、正二测和斜二测图形1316.2.5.5透视投影透视投影的视线(投影线)是从视点(观察点)出发,视线是不平行的。透视投影按照主灭点的个数分为一点透视、二点透视和三点透视,任何一束不平行于投影平面的投影线的透视投影将汇聚成一点,称之为灭点,在坐标轴上的灭点称为主灭点。主灭点数是和投影平面切割坐标轴的数量相对应的。如投影平面仅切割z轴,则z轴是投影平面的法线,因而只在z轴上有一个主灭点,而平行于x轴或y轴的直线也平行于投影平面,因而没有灭点。另一个产生三维景物视图的方法是:沿汇聚路径将点投影到显示平面上。132单立方体的一点透视和二点透视133单立方体的一点透视、二点透视和三点透视134一点透视投影1351.简单的一点透视透视投影的视点(投影中心)为Pc(xc,yc,zc),投影平面为XOY平面,形体上一点P(x,y,z)的投影为(xs,ys),现推导求(xs,ys)的变换公式。1361.简单的一点透视用齐次坐标表示的变换矩阵1376.3图形的裁剪、消隐和渲染1386.3.1图形裁剪裁剪是指以窗口为边界,将图形分为可见区域和不可见区域,仅保留窗口内的可见部分,去掉窗口外的不可见部分,并将可见部分在计算机显示器等图形输出设备上输出识别和选择可见图形信息的方法为图形的裁剪。裁剪问题是计算机图形学中的基本问题之一。用于裁剪的窗口通常是一个矩形,也可以是其它多边形可含有曲线的边界,而被裁剪的对象可以是线段、字符或多边形等。裁剪的本质是对线段、字符或多边形等图形进行求交运算,通过判别后只保留窗口内的部分图形。1396.3.1图形裁剪利用裁剪技术可以将窗口内的图形信息与窗口外的图形信息区分开来,裁剪技术的应用场合包括:从场景中抽取部分观察对象、从三维视图中标识可见面、防止线段或对象的边界混淆、框选部分图形对象进行拷贝、移动或删除等图形操作。裁剪问题可以分为二维裁剪和三维裁剪两种基本类型,其中线段的二维裁剪是二维裁剪中的基本问题重点讨论二维图形中点和线段的裁剪问题。1401.点的裁剪由于任何图形都由点、线(直线、折线和曲线)和字符所组成,而它们又都可看作是点的集合,因此点的裁剪问题是二维图形裁剪的基本问题。假设窗口x坐标的界限值为xmin和xmax,y坐标的界限值为ymin和ymax,则一点判为可见时,必须同时满足下列两个不等式约束,即:1)xmin

≤x≤xmax2)ymin

≤y≤ymax1412.二维线段的裁剪任何图形都可以看作是由直线段组成的,即使是曲线、圆弧和其它折线等都可以离散化,用一组直线段来近似地表示,因此二维线段的裁剪是其它二维图形裁剪问题的基础。线段裁剪首先要研究它与窗口边界的相对位置,并进一步判别线段的可见性。由于矩形窗口是一个凸多边形,一条直线段的可见部分最多为一段,因此可以通过判断线段两个端点的可见性来确定直线段的可见部分。一条直线段相对于窗口来说,其端点有下列几种情况:1422.二维线段的裁剪1)直线段的两个端点都在窗口内,如直线段b,它不需要裁剪,应全部显示;2)直线段的两个端点都在窗口外,如直线段a、d、e和f。其中对于直线段a和e,它们均被窗口边界分成3段,其中中间一段落在窗口内,应当显示。而对于直线段f,它与窗口边界只有一个交点,此时的可见部分已退化为一个点;3)直线段d,由于它与窗口的边界不相交,应当裁剪掉;1432.二维线段的裁剪4)直线段的一个端点在窗口内,另一个端点在窗口外,如直线段c,需要求出它与窗口边界的交点,并以此为界将直线段分为两段,只需显示落在窗口内的那一段。由于一个复杂的图形可能有成百上千根直线段组成,因此裁剪算法的效率是十分重要的。下面介绍一种有效的线段裁剪算法,即由D.Cohen和I.E.Sutherland提出的“编码裁剪”算法,也称为Cohen-Sutherland算法。144Cohen-Sutherland算法为了实现上述算法步骤,首先用窗口的边界直线将平面分成九个区域,每个区域用四位二进制码来表示,称为“区域码”,四位编码自左向右的意义为:第1位:用1表示点在窗口之上,否则为0。第2位:用1表示点在窗口之下,否则为0。第3位:用1表示点在窗口之右,否则为0。第4位:用1表示点在窗口之左,否则为0。145Cohen-Sutherland编码若y>ymax第1码位为1

若y<ymin

第2码位为1

若x>xmax

第3码位为1

若x<xmin

第4码位为1146Cohen-Sutherland算法任一条直线的两个端点的编码都与它所在的区域相对应。位于窗口同一侧线段两个端点的四位二进制代码进行“按位与”操作的结果必然不是0000位于窗口不同侧线段两个端点的四位二进制代码进行“按位与”操作的结果必然是0000这个规律正是算法判别的基本依据。147Cohen-Sutherland算法当给定一线段时,首先根据线段的两端点所处的区域,用相应的四位代码表示,假设分别用C0和C1来表示,Cohen-Sutherland编码裁剪法的判别步骤为:1) 若C0=C1=0000,则线段全部在窗口内部,直接予以显示,并取出下一条直线;否则,若C0ANDC10000,则直线全部在窗口外部,直接裁剪掉,并取出下一条直线;2)若上述判断不成立,则采用适当的方法将线段分割成2~3个部分,对其中的每个部分再回到步骤1)作进一步的判定,直到处理完所有线段为止。148Cohen-Sutherland算法上述第2步中线段的分割有两种基本方法:(1)中点分割法:从直线段的中点处进行分割;(2)通过窗口边界与线段的交点进行分割。上述第1步中的AND表示两个端点的四位二进制代码进行“按位与”计算,而不是“逻辑与”操作,即将四位二进制编码中的每一位独立地进行“与”的运算。149Cohen-Sutherland编码裁剪法程序流程图1501.图形消隐的基本概念在现实生活中从某一方向观察一个三维立体时,它的一些面、边是看不到的。对于简单的线框模型,如果不对它们进行适当的处理,无疑会影响图形的立体感,而且这种图形表示的形体往往也是不确定的,即具有二义性或多义性。为了使得对这些图形的理解具有唯一性并增强图形的立体感,需在显示图形时消除因物体自身遮挡或物体间相互遮挡而无法看见的棱线。6.3.2图形消隐151经线消隐处理的三维线框图152经面消隐处理的三维填色图1531.图形消隐的基本概念对于一个三维物体,当沿着投影视线对它进行观察时,由于物体中各种表面或其它物体的遮挡,使得某些线段或面不可见,这些不可见的线段或面就称为隐藏线(hiddenline)或隐藏面(hiddensurface)。将这些隐藏线或隐藏面消除的过程就称为消隐(blanking)。1541.图形消隐的基本概念消隐工作首先需要解决的问题:决定图形对象的哪些部分是可见的,哪些部分由于被自身或其它物体所遮挡而成为不可见的,即首先要找出隐藏线和隐藏面,然后再消除这些不可见部分,只显示可见的线和面,从而使得所显示的图形不会产生岐义性。查找、确定并消除隐藏线和隐藏面的技术就称为消隐技术。1551.图形消隐的基本概念消隐问题被认为是计算机图形学中最具挑战性的问题之一,这个问题的解决主要围绕“算法正确、运算速度快、空间占用少”等目标来展开研究。人们早在20世纪60年代就开始这方面的研究,目前已经提出多种有效的消隐算法。在已发表的为数众多的有关图形消隐的文献中,有的算法用来处理由平面构成的多面体的消隐问题,也有适合于更加复杂的曲面隐藏线、隐藏面的消去方法。1561.图形消隐的基本概念由于实际物体的结构千变万化,模型设计方法也多种多样,因而探索高效的消隐算法仍是计算机图形学中人们不断探索和研究的课题。1571.图形消隐的基本概念对于单个凸多面体中隐藏线的消隐算法,常见的有矢量计算法和平面顶点序列确定法。矢量计算法用法矢的指向来判别立体各个面的可见性平面顶点序列确定法利用平面上顶点序列的绕向来确定面的可见性。1582.隐藏线消隐的矢量计算法对于凸多面体可以定义边(edge)、点(node)和面(face),即边是面的交线,而点则是边的两个端点。如果通过一根边的两个平面在实体外所夹的角大于180,称该边为凸边,小于180时则称为凹边1591.图形消隐的基本概念如果某个点至少是一根凹边的端点,则该点称为凹点,否则就称为凸点。1601)边的评价mj是面j的单位法矢量。mj1mj2是面j1和面j2单位法矢量的叉积,该矢量的方向按右手法则确定。面j1和面j2的交线是一根有向边,它上面的单位矢量e的方向规定如下:使第一个法矢量mj1所在的平面j1处在观察者右边,这时观察者头部所指的方向即为e的方向1611)边的评价若定义C=emj1mj2cos,则由于矢量e和矢量mj1mj2始终平行,所以的取值要么为0,要么为180,因此C值的取值为1或-1,显然当C=1时,e所对应的边是凹边,当C=-1时,e所对应的边是凸边。1622)点的评价边的凹凸确定后,该边端点上的点究竟是凹点还是凸点也就可按前面的定义确定。1633)面的评价设E为视点,向着视点E的象平面的单位法矢量为V,设三维形体上面ji的单位法矢量为mji,若定义C=Vmji,显然当C>0时面ji是可见面,当C<0时面ji是隐藏面。164隐藏线的消隐处理对形体上的所有面进行评价后,就可以按如下规则进行隐藏线的消隐处理:(1)两个隐藏面的交线是隐藏线,应当消去;(2)两个面所共有的凹边,如果其中一个为可见面,而另一个为隐藏面,这个凹边是隐藏线,也应当消去。165隐藏线的消隐处理在所示图形的各个棱线中,根据规则(1)应当消去的棱线如下:GL属于不可见面AGLF、GHIJKL,应消去;FL属于不可见面AGLF、FLKE,应消去;LK属于不可见面FLKE、GHIJKL,应消去;JI属于不可见面GHIJKL、DJIC,应消去;根据规则(2)应消去的棱线为:DJ属于可见面DJKE和不可见面DJIC的交线,则此凹边应消去。通过JK和CI的交点来分开考虑JR和RK,显然RK的前面没有什么对象遮住,应当显示,但JR前面则有面BCIH遮挡着,因此应该用另外的算法来消去JR。1663.平面顶点序列法消隐六面体的每个平面含四个顶点,在图形变换前给每个面按顺时针方向连接各个顶点,例如最前面的平面由顺时针方向的顶点序列ABCD构成,左侧面顺时针方向的顶点序列为ADEH。六面体经过缩放、平移和旋转等图形变换并通过透视变换显示在象平面平面的顶点序列仍按顺时针向构成,则确定为可见面,用线段连接各顶点并显示各条棱线;平面的顶点序列按相反的逆时针向构成时,则确定为隐藏面,并消去各条棱线1673.平面顶点序列法消隐这种方法经常用在表示平面立体的链表数据结构中,由于每个形体表面由多条棱边封闭而成,所以根据这些棱边在环表中的顺、逆时针向排列可用来进行面的可见性判别。1684.消除隐藏面的算法消除隐藏面的算法有多种,常用算法有画家算法、Z缓冲区算法、扫描线算法和区域采样算法等。1696.3.3图形渲染在计算机图形学领域中,除了积极开展隐藏线、隐藏面的各类高效算法的研究外,对图形渲染(rendering)技术的研究也异常活跃,它的主要目标是实现用计算机生成和输出更加具有真实感的物体图形,以便使观察者更好地感知和理解它。图形渲染技术涉及图形的空间表示、色彩、光照、纹理和质感等。渲染技术在产品几何造型、动态模拟仿真、科学计算可视化和产品宣传等领域有着十分广泛的应用。1706.3.3图形渲染在计算机图形学的早期,所生成的图形只是简单的线框图。通过透视变换和消除隐藏线等方法,能产生具有一定真实感的图形。但是与丰富多彩的客观世界相比还有相当差距。20世纪70年代以后,图形显示技术的发展为真实图形的生成和显示提供了良好条件。产品绘图和造型时,可以通过消隐、色彩、灰度和表面纹理等处理,实现更为真实的显示效果。1711721.光照模型光照模型(Illuminationmodel)是指在计算机中模拟光照射到物体表面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论