《第4章-图形处理技术基础PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第4章-图形处理技术基础PPT讲稿.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章-图形处理技术基础第1页,共62页,编辑于2022年,星期一第第4章章图形处理技术基础图形处理技术基础4.1图形的几何变换图形的几何变换4.2 图形的消隐技术图形的消隐技术4.3图形的光照处理技术图形的光照处理技术4.4图形裁剪技术图形裁剪技术4.5图形生成方法图形生成方法参考文献:参考文献:姚英学,蔡颖.计算机辅助设计与制造.北京:高等教育出版社,2002蔡汉明,陈清奎.机械CAD/CAM技术.北京:机械工业出版社,2003第2页,共62页,编辑于2022年,星期一图形几何形几何变换的基本原理的基本原理图形变换一般是指对图形的几何信息经过几何变换后产生新的图形,它提供了构造或修改图形的
2、方法。除图形的位置变动外,还可以将图形放大或缩小,甚至对图形作不同方向的拉伸来使其扭曲变形。图形是点的集合形是点的集合在二维平面中,任何一个图形都可以认为是点之间的连线构成的。对于一个图形作几何变换,实际上就是对一系列点进行变换。点的表示点的表示在二维平面内,一个点通常用它的两个坐标(x,y)来表示,写成矩阵形式则为:4.1图形的几何变换图形的几何变换或表表示示点点的的矩矩阵阵通通常常被被称称为为点点的的位位置置向向量量,以下将采用行向量表示一个点。如有三角形的三个顶点坐标a(x1,y1),b(x2,y2),c(x3,y3),用矩阵表示则记为:第3页,共62页,编辑于2022年,星期一变换矩阵
3、变换矩阵若A、B、M都是矩阵,且AM=B,则M被称为变换矩阵。变换矩阵为点的变换提供了工具。设变换矩阵点的变换点的变换将点的坐标xy与变换矩阵M相乘,变换后点的坐标记作xy。则xy即可见,新点的位置取决于变量新点的位置取决于变量A、B、C、D的值。的值。第4页,共62页,编辑于2022年,星期一在系统中,几何图形是最基本的元素。图形由图形的顶点坐标、顶点之间的拓扑关系以及组成图形的面和线的表达模型所决定。图形的几何变换,归根结底是点的坐标变换。图形的几何变换,归根结底是点的坐标变换。对于平面上的点,有如下齐次变换矩阵:其中(x,y)为变换之前的点坐标,(x*,y*)为变换以后的点坐标,T为变换
4、矩阵。对于由多个点、线、面组成的二维、三维图形,有:式中:V-变换以前图形的顶点坐标矩阵;V*-变换以后图形的顶点坐标矩阵;T-图形变换矩阵。对于二维图形,T是3*3阶齐次矩阵;对于三维图形,T是4*4阶齐次矩阵。图形变换的主要工作就是求解变换矩阵T。第5页,共62页,编辑于2022年,星期一一、二维图形的基本变换一、二维图形的基本变换在二维平面中,图形变换矩阵可表示为:其中左左上上角角a、b、c、d是对图形进行比比例例(缩缩放放)、对对称称(镜镜像像)、旋旋转转、错错切切等等变变换换;左左下下角角e、f是对图形进行平平移移变变换换;右右上上角角p、q对图形进行透透视视变变换换;右右下下角角s
5、是对图形进行整整体体比比例例变变换换。当s1时,图形缩小;当s=1时,图形大小不变。即变换后的坐标均为原坐标x,y的1/s倍第6页,共62页,编辑于2022年,星期一1、恒等变换:、恒等变换:变换矩阵是单位矩阵2、比例变换:比例变换:比例变换使用比例因子乘以图形的点集,使图形放大或缩小的变换。齐次坐标比例变换为比例变换见右图(1)当a=e=1时,为恒等比例变换,即图形不变;(2)当a=e 1时,图形沿两个坐标轴方向等比放大。(3)当a=e 0,图形沿+x方向做错切;b0,图形沿+y方向做错切;d1,则整个图形缩小;若s1,则整个图形放大。右图为对一三棱锥分别实行局部比例变换(X方向放大1倍;Y
6、方向缩小1倍;Z方向比例不变)和全比例放大1倍的变换。第21页,共62页,编辑于2022年,星期一3、三维错切变换、三维错切变换与二维类似,指图形沿X、Y、Z三个方向的错切变换。其变换矩阵为:可见,主对角线四个元素均为1,第4行和第4列其它元素均为0。错切变换是画斜轴测图的基础,按方向不同,可分为六种基本变换。第22页,共62页,编辑于2022年,星期一沿X轴含Y向错切,变换矩阵为:,变换矩阵为:错切变换为:,即x=x+Dy,y=y,z=z,如下图所示:第23页,共62页,编辑于2022年,星期一沿X轴含Z向错切,变换矩阵为:错切变换为:第24页,共62页,编辑于2022年,星期一沿Y轴含X向
7、错切,变换矩阵为:错切变换为:沿Y轴含Z向错切,变换矩阵为:错切变换为:第25页,共62页,编辑于2022年,星期一沿Z轴含X向错切,变换矩阵为:错切变换为:沿Z轴含y向错切,变换矩阵为:错切变换为:第26页,共62页,编辑于2022年,星期一4、三维旋转变换、三维旋转变换二维变换中,图形绕原点旋转的变换实际上是X0Y平面图形绕Z轴旋转的变换。三维旋转变换应按绕不同轴线旋转分别处理。同样的,旋转角逆时针转动为正,顺时针转动为负。绕绕Z轴旋转的变换矩阵轴旋转的变换矩阵绕绕X轴旋转的变换矩阵轴旋转的变换矩阵绕绕Y轴旋转的变换矩阵轴旋转的变换矩阵第27页,共62页,编辑于2022年,星期一5、三维镜
8、像(对称)变换、三维镜像(对称)变换标准的三维空间对称变换是相对于坐标平面进行的。对X0Y平面的对称变换,其变换矩阵为:对Y0Z平面的对称变换,其变换矩阵为:对X0Z平面的对称变换,其变换矩阵为:第28页,共62页,编辑于2022年,星期一复合变换复合变换投影变换投影变换把三维坐标表示的几何形体变为二维图形的过程叫投影变换,投影变换分为:第29页,共62页,编辑于2022年,星期一根据投影中心与投影平面之间距离的不同,投影可分为平行投影平行投影和透视投影透视投影。透视投影的投影中心到投影面之间的距离是有限的,而平行投影的投影中心到投影面之间的距离是无限的。如下面动画所示(请点击投影类型):第3
9、0页,共62页,编辑于2022年,星期一正平行投影(三视图)正平行投影(三视图)投影方向垂直于投影平面时称为正平行投影,我们通常说的三视图(主视图、俯视图、左视图)均属正平行投影。投影过程请观看下面动画:第31页,共62页,编辑于2022年,星期一三面视图的变换矩阵为:主视图变换矩阵主视图变换矩阵(取XOY平面上的投影为主视图,只须将立体图的Z坐标变为零)俯视图变换矩阵俯视图变换矩阵其中d值是为了使俯视图与主视图间保持一定距离。第32页,共62页,编辑于2022年,星期一左视图变换矩阵左视图变换矩阵其中d值是为了使左视图与主视图间保持一定距离。第33页,共62页,编辑于2022年,星期一4.2
10、图形的消隐技术图形的消隐技术消隐的概念与作用消隐的概念与作用在使用显示设备描绘物体的图形时,必须把三维信息经过某种投影变换,在二维的显示表面上绘制出来。例如,轴测图和透视图,就是通过轴测变换或透视变换,求出所有顶点的投影点,再把各点连结起来。下图中第一个图形代表的是后边哪一个呢哪一个呢?由于投影变换失去了深度信息,往往导致图形的二义性。要消除二义性,就必须在绘制时消消除除实实际际不不可可见见的的线线和和面面,习习惯惯上上称称作作消消除除隐隐藏藏线线和和隐隐藏藏面面,或或简简称为消隐。称为消隐。第34页,共62页,编辑于2022年,星期一消隐算法的测试方法消隐算法的测试方法针对不同的显示对象和显
11、示要求,会有不同消隐算法与之相适应。1、重叠测试、重叠测试许多物体的投影是由若干个多边形构成的,将这些多边形两两判别,看它们是否有重叠部分,如果不重叠,说明它们肯定不互相遮挡。这种方法就叫重叠测试。第35页,共62页,编辑于2022年,星期一2、包含性测试、包含性测试测试点与多边形的包含关系有两种方法:(1)射线交点数算法)射线交点数算法(2)夹角求和算法)夹角求和算法当当时,则被测试点在多边形内部时,则被测试点在多边形内部(如点如点A)当当时,则被测试点在多边形的外部时,则被测试点在多边形的外部(如点如点B)第36页,共62页,编辑于2022年,星期一3、深度测试、深度测试深度测试是用来测试
12、一个物体遮挡另一个物体的基本方法。常用的有优先级测试优先级测试和物体空间物体空间测试测试。优先级测试优先级测试第37页,共62页,编辑于2022年,星期一4、可见性测试、可见性测试可见性测试主要用来判别物体自身各部分哪些部分没有被其自身其它部分遮挡即可见的,哪些部分被其自身其它部分遮挡即不可见的。其中,其中,N为外法矢,为外法矢,S为视线矢量为视线矢量则该表面可见则该表面可见第38页,共62页,编辑于2022年,星期一常用消隐算法常用消隐算法根据消隐对象不同,消隐算法可分为两类:若消除的是物体上不可见的线段,称为线消隐线消隐;若消除的是物体上不可见的面,称为面消隐面消隐。根据消隐空间的不同,消
13、隐算法又可分为两类:物体空间的消隐算法物体空间的消隐算法这类算法是将物体表面上的k个多边形中的每一面与其余的k-1个面进行比较,精确地求出物体上每条棱边或每个面的遮挡关系。图形空间的消隐算法图形空间的消隐算法在消隐算法中,图像空间就是上述的屏幕坐标空间。这类算法对屏幕的每一像素进行判断,以决定物体上哪个多边形在该像素点上是可见的。若屏幕上有m*n个像素点,物体表面上有k个多边形,则该类消隐算法的计算量将正比于m*n*k。消隐的基本思想很简单,但要真正实现却要耗费很长的判别和运算时间。消隐算法的消隐的基本思想很简单,但要真正实现却要耗费很长的判别和运算时间。消隐算法的处理效率将是决定能否被有效采
14、用的关键。处理效率将是决定能否被有效采用的关键。第39页,共62页,编辑于2022年,星期一1.Warnock算法算法Warnock算法递归分割窗口多边形与窗口之间的关系Warnock细分算法举例第40页,共62页,编辑于2022年,星期一2.Catmull曲面分割算法曲面分割算法曲面分割第41页,共62页,编辑于2022年,星期一3.Z缓冲器扫描线算法缓冲器扫描线算法扫描平面与扫描窗口第42页,共62页,编辑于2022年,星期一4.3图形的光照处理技术图形的光照处理技术采用消隐技术消除了隐藏线和隐藏面后,图形就没有了二义性问题,但仅仅这样还不够,还要考虑创造所谓真实感图形真实感图形。光照处理
15、是绘制真实感图形所需的重要技术之一,它模拟光线照射在物体上,物体反映出来的感观效应,通过必要的算法,实现实际物体在计算机上的虚拟。从物体表面反射或折射出来的光的强度取决于很多因素:首先是光源的性质光源的性质,包括点光源、多点光源或分布光源、光的波长、光源点光源、多点光源或分布光源、光的波长、光源的位置的位置等。其次是物体的表面性质物体的表面性质,包括物体表面形状、表面性质(反射率、折射表面形状、表面性质(反射率、折射率、光滑度率、光滑度等)以及一些表面细节(颜色、纹理表面细节(颜色、纹理等)。最后是物体周围的环境、视点位置物体周围的环境、视点位置以及不同人对光的感觉差异不同人对光的感觉差异等也
16、会对光强产生影响。它们通过对光的反射和折射形成环境光,在物体表面上产生一定的照度。它们还会在物体上形成阴影。为了使显示的图形更加逼真,要考虑到物体表面由于光照而产生的明暗变化,这需要对物体进行光照处理光照处理。一、图形的光照处理基本原理一、图形的光照处理基本原理第43页,共62页,编辑于2022年,星期一对物体进行光照处理需要建立合适的光照模型,并通过显示算法将物体在显示器上显示出来。当光照射到一个物体的表面上时,物体对光会产生反反射射、透透射射和和散散射射作用,物体内部还会吸吸收收一部分光。这可用如下等式表示:入射光入射光=反射光反射光+透射光透射光+散射光散射光+吸收光吸收光用简单光反射模
17、型模拟光,照射到物体表面时,产生了光的反射效果,它假定光源是点光源,物体是非透明体,于是透射光和散射光将近似于零。二、简单光反射模型二、简单光反射模型第44页,共62页,编辑于2022年,星期一漫反射漫反射 当光线照射到表面粗糙、无光泽的物体上,物体表面表现为漫反射形式,即光线沿各不同方向都做相同的散射。故而从各个角度观察,物体都有相同的亮度。k为适当常数,为适当常数,r为透视点到表面的距离为透视点到表面的距离第45页,共62页,编辑于2022年,星期一镜面反射镜面反射 光照射到光滑表面,镜面反射的光取决于入射光的角度、波长和反射表面的材料性质。第46页,共62页,编辑于2022年,星期一环境
18、光环境光 光源照射到周围物体上,反射出的光照射到该物体上也能让我们看见它。这种光叫环环境境光光或或泛泛光光。环境光亮度均匀,通常由多个物体经多重反射形成,因此无法精确计算光强。在简单光照模型中,把它处理为常数常数。几种光各有自己的特色,综合起来就是作用在物体上的综合光强综合光强。第47页,共62页,编辑于2022年,星期一 恒定亮度法恒定亮度法 恒定亮度法就是对于整个多边形只算出一个亮度值,用这个亮度显示物体上多边形所在的那个面。这种方法只适合于在某些特定条件下,如物体表面仅暴露于背景光下,没有表面图案、纹理或阴影时。三、光照处理的基本算法三、光照处理的基本算法马赫带效应第48页,共62页,编
19、辑于2022年,星期一GouraudGouraud插值法插值法(亮度插值法亮度插值法)这种方法消除了亮度上的不连续性,它线性地改变每个多边形平面亮度,使亮度值同多边形边界相匹配,解决了相邻平面之间亮度的不连续性,在一定程度上消除了马赫带效应。但它仅能保证在多边形两侧亮度的连续性,而不能保证亮度变化的连续性,故不能完全消除马赫带效应。同时由于采用插值的方法,使得镜面反射所产生的高光效果很不理想,故Gouraud插值法对于只考虑漫反射的模型效果较好。此外,进行光照处理的还有双双线线性性插插值值法法(Phong插值法)、整整体体光光照照模模型型和光光线线跟跟踪踪算算法法、辐辐射射度度法法等,而且还可
20、派生出一些阴阴影影生成法生成法,来获得更好的真实感。顶点法线亮度线性插值第49页,共62页,编辑于2022年,星期一4.4图形裁减技术图形裁减技术用户坐标系用户坐标系CADCAM中图形数据的表达通通常常用用笛笛卡卡尔尔右右手手坐坐标标系系,称之为用用户户坐坐标标系系或世世界界坐坐标标系系(worldCoordinates,WC)。其坐标为实数,无范围限制。窗口窗口在计算机绘图中,常常遇到这样的情况:不同时刻、针对不同目的、只关心整幅图形的不同部位,而对其它部分暂时不感兴趣,此时,希望关心的这部分图形能够尽量清晰地显示出来。于是,大多数的图形软件都提供了这样一个功能:即用户可以在输入的图形上选定
21、一个观察区域。这个观观察察区区域域被称为窗口窗口。窗口是在用户坐标系中定义的确定显示内容的一个区域。在二维平面,通常定义窗口为一矩形区域,它的大小和位置在用用户户坐坐标标上上表示,用四个变量代表窗口左下角和右上角点的坐标,即:一、常用的坐标系一、常用的坐标系第50页,共62页,编辑于2022年,星期一设备坐标系设备坐标系图形终端采用的坐标系称为设备坐标系图形终端采用的坐标系称为设备坐标系(DeviceCoordinates、Dc)。它是有范围的。视区视区从世界坐标系中用窗口取下来的图形要在设备上的一个矩形区域画出来。这个矩形区域叫视口,或叫视视区区(Viewport)。视区是在设设备备坐坐标标
22、系系(通常是屏幕)中定定义义的的一一个个区区域域,用于输出窗口中的图形。视区决定了窗口中的图形要显示于屏幕上的位置和大小。视区是一个有限的整数域。视区是一个与设备密切联系的概念,显示终端的平面和绘图仪的幅面都是用来表现图形的二维平面,而且是个有限的平面。通常也用四个变量指示视区两个角点的坐标,即:视区也可以嵌套,还可以在同一物理设备上定义多个视区,分别作视区也可以嵌套,还可以在同一物理设备上定义多个视区,分别作不同的应用或分别显示不同角度、不同对象的图形。不同的应用或分别显示不同角度、不同对象的图形。第51页,共62页,编辑于2022年,星期一二、窗视变化二、窗视变化窗口与视区可以是多个,而且
23、几个窗口或几个视区可以重叠或嵌套。窗口与视区不一定都是矩形区域,也可能是圆形或多边形区域。只只只只有有有有当当当当定定定定义义义义的的的的视视视视区区区区大大大大小小小小与与与与窗窗窗窗口口口口大大大大小小小小相相相相同同同同,而而而而且且且且设设设设备备备备坐坐坐坐标标标标的的的的度度度度量量量量单单单单位位位位与与与与用用用用户户户户坐坐坐坐标标标标的的的的度度度度量量量量单单单单位位位位也也也也相相相相同同同同时时时时,二二二二者者者者之之之之间间间间才才才才是是是是1 1:1 1的的的的对对对对应应应应关关关关系系系系,而在绝大多数情况下,窗口与视区无论是大小还是单位都不相同。为了把选
24、定的窗口内容在希望的视区上表现出来,必须进行坐标变换坐标变换。将用户坐标系和设备坐标系放到一起,使原点重合,x轴和y轴的方向分别一致。(xWL,yWB)(xWR,yWT)窗口视区(xVL,yVB)(xVR,yVT)第52页,共62页,编辑于2022年,星期一从窗口到视区的变换由三个基本变换复合而成。(1)平移窗口,使左下角和原点重合。(2)比例变换,使窗口和视区大小相等。比例因子为(3)平移窗口,使左下角和(xVL,yVB)重合。第53页,共62页,编辑于2022年,星期一这三个变换的变换矩阵分别是三个变换之积为由可推算出图形出窗口到视口的变换计算式为第54页,共62页,编辑于2022年,星期
25、一视区与窗口的关系:视区与窗口的关系:视区不变,窗口缩小或放大时,显示的图形会相应放大或缩小。视区不变,窗口缩小或放大时,显示的图形会相应放大或缩小。窗口不变,视区缩小或放大时,显示的图形会相应缩小或放大。窗口不变,视区缩小或放大时,显示的图形会相应缩小或放大。视区纵横比不等于窗口纵横比时,显示的图形会有伸缩变化。视区纵横比不等于窗口纵横比时,显示的图形会有伸缩变化。窗口与视区大小相同、坐标原点也相同时,显示的图形不变。窗口与视区大小相同、坐标原点也相同时,显示的图形不变。第55页,共62页,编辑于2022年,星期一三、裁剪三、裁剪为了正确显示窗口内的全部图形,必须明确把图形分为窗口内的部分(
26、可见部分)和窗口外的部分(不可见部分),尤其是与窗口边界相交的那些图形。区分可见与不可见部分的区分可见与不可见部分的过程就称为裁剪。过程就称为裁剪。裁剪处理的基础有两点:点在裁剪区域内外的判断点在裁剪区域内外的判断图形与裁剪区域边界交点的计算图形与裁剪区域边界交点的计算右图中,窗口的两个顶点的坐标为(xWL,yWB)和(xWR,yWT),则点P(x,y)可见的充分必要条件是满足以下条件:第56页,共62页,编辑于2022年,星期一判别一条直线段的可见性可依据直线的两个端点与窗口的相对位置,这种位置关系可归纳为四种情况(如图):(1)如果直线的两两个个端端点点都都在在窗窗口口内内如直线段AB则该
27、直线段是完完全可见全可见的;(2)如果直线的两个端点都都在在窗窗口口外外,并且是在窗口某边的同同一一侧侧,如直线段CD,则该直线完完全全不不可可见见。同一侧是指线段的两个端点同时位于窗口左面、右面、上面、或下面;(3)如果直线的两两个个端端点点都都在在窗窗口口外外,并且不在窗口的同侧如直线段GH、IJ和KL,此时要求出直线段与窗口边的交点并对其性质进行分析,才能确定是否需要裁剪;(4)如果直线的一一个个端端点点在在窗窗口口内内,另另一一个个端端点点在在窗窗口口外外如直线段EF,则需要对它裁剪即求出它与窗口边框的交点,该交点和窗口内的那个线段端点成为可见线段的两个端点。可见,为了判别直线的可见性
28、,可先先求求出出直直线线与与窗窗口口边边框框的的交交点点,然然后后对对交交点点性性质质作作分分析析。这种直观判别的思路简单,但效率很低,实际裁剪图形时,还要依靠各种算法。常见的裁剪法有:编编码码裁裁剪剪法法、中点分割裁剪法逐、边裁剪法、矢量剪取法、中点分割裁剪法逐、边裁剪法、矢量剪取法、等。第57页,共62页,编辑于2022年,星期一下面的动画说明了对直线裁剪的原理。第58页,共62页,编辑于2022年,星期一4.5图形生成方法图形生成方法一幅图最简单的几何成份是点和直线,此外还有曲线、多边形以及字符串等等。图形由基本图形元素组成,图形生成方法是使用基本图形元素生成图形的方法。图形生成方法决定
29、了计算机绘图的作用和效率,归纳起来主要有五种方法:一、轮廓线法一、轮廓线法任何一个二维图形都是由线条组成,所谓轮廓线法,就是将这些线条逐一绘出,它只取决于线条的端点坐标,不分先后,没有约束,因而,比较简单,适应面也广,但绘图工作量大、效率低,容易出错,生成的图形无法通过尺寸参数加以修改。二、参数化法二、参数化法在实际应用中,人们常常面临系列化的设计,即基本几何拓扑关系不变,只变动形状尺寸,于是,人们创造了参数化法。这种方法首先建立图形与尺寸参数的约束关系,每个可变的尺寸参数用待标变量表示,并赋予一个缺省值。绘图时,修改不同的尺寸参数即可得到不同规格的图形。第59页,共62页,编辑于2022年,
30、星期一三、图形元素拼合法三、图形元素拼合法图形元素拼合法类似于一种搭积木的方法。将各种常用的、带有某种特定专业含义的图形元素存储建库,设计绘图时,根据需要调用合适的图形元素加以拼合。图形元素拼合法要以参数化法为基础,每个图形元素实际上就是一个小参数化图形。固定尺寸参数的图形元素在应用中没有使用价值。四、尺寸驱动法四、尺寸驱动法这是一种交互式的变量设计方法。按设计者的意图,先将草图快速勾画于屏幕之上,然后根据产品结构需要,为草图建立尺寸和形位约束,草图就戏法般地受到这种约束的驱动而变得横平竖直起来,尺寸大小也一一对应。第60页,共62页,编辑于2022年,星期一五、三维实体投影法五、三维实体投影法工程师在进行零件结构设计时,首先在思维中建立起来的是一种三维物体模型,苦于没有一个形象描述、记录的工具和手段,因而只能将其画成二维图形;而在读图时,又要在头脑中还原图纸表示的三维物体。如果开始设计时就在计算机三维环境下,则不仅能更直观、全面地反映设计对象,还能减轻设计时的负担,提高设计质量和效率。这时,若要将三维设计结果以二维图纸形式输出,则只需利用三维几何建模软件系统提供的二维图投影功能就可方便地实现了。第61页,共62页,编辑于2022年,星期一第62页,共62页,编辑于2022年,星期一