第3章 机械工程CAD图形学基础 2_第1页
第3章 机械工程CAD图形学基础 2_第2页
第3章 机械工程CAD图形学基础 2_第3页
第3章 机械工程CAD图形学基础 2_第4页
第3章 机械工程CAD图形学基础 2_第5页
已阅读5页,还剩164页未读 继续免费阅读

下载本文档

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

文档简介

1、 机械CAD13.7图形变换无论是用于子图形装配、定位、定向,还是用于图形观察,都需要对图形进行变换操作。这是计算机绘图优越于手工绘图的一个原因。图形变换分为线形变换和非线形变换两大类。 机械CAD2线性变换主要有平移、旋转、比例变换,主要用于统一世界坐标系WCS下的定位定向建模操作和改换视点、视向的不同观察坐标系下的观察投影变换,一般没有降维现象。线性变换具有保点、保形、保线的优点,且除透视投影变换外平行线仍变为平行线、交点仍变换交点。 机械CAD3非线性变换利用非线性函数,实现图形几何信息和外观属性信息的特技处理,如透视变换(有降维、灭点现象),如电视广告艺术中的魔幻变换(车变动物、流动化

2、及时间反演变换)。非线性变换技术能够创造出更多虚幻的效果,其变换函数为坐标的非线性函数,如多项式、三角函数、指数函数等等,在图像、动画处理软件中广为应用。分形几何中曼氏图从本质上来说也是一种非线性变换。 机械CAD4常用非线性变换有:时域和空间领域的FFT变换。把2D图像转化为2D空间频率集,如余弦变换、小波变换,用于图像压缩。滤波、锐化变换。如取中值、平均值、差分值等变换,常用于图像去污及平衡背景。插值变换。依据指定关键帧图,对中间过渡状态进行线性、非线性插值,常用于动画制作。映射变换。如把矩形参数网格映射曲面网、三角网,如平面镜、凹凸镜图像生成和纹理映射。复数变换。利用复变函数把(xy)映

3、成(uv)。常用各种保角映射。 机械CAD5图形线性变换可以分两种情况。一种情况是几何变换,坐标系固定不变,只是物体方位、大小发生变化。例如在三维CAD中,从UCS建模坐标系(局部用户坐标系)到WCS世界坐标系(全局坐标系)的变换,实现零件与零件组合(并、差)或零件装配到另外一个零件上的定位操作。另一种情况是观察变换,物体固定不变,只是坐标系发生变化。例如三维CAD中,从WCS世界坐标系到VCS观察坐标系的变换,实现空间不同角度视察同一个物体。这两种变换在数学上是互逆的。 机械CAD63.7.1 几何变换ZYXYX 机械CAD 二维图形的几何变换1 平移变换 (x, y)(x,

4、 y)(dx, dy)xy 机械CAD82. 比例缩放(x, y)(x, y)xy 机械CAD93. 旋转xyfq(x, y)(x, y) 机械CAD10 机械CAD114. 对称 机械CAD12 2) 对y轴 3) 原点 4) 450线 5) -450线 机械CAD135. 错切 机械CAD14二维变换的矩阵表示为了得到统一的表达式,引入齐次坐标系的概念。用n+1维向量来表达一个n维向量,如(x y h)表达二维点(x y)。优点:1)可以统一几何变换表达式,并且完成复合运算。2)可以表示无穷远点,有利于表示三维图形的透视变换。 机械CAD15 机械CAD16 机械CAD17复合变换 复合变

5、换是指对图形进行一次以上的变换,变换的结果是每次的变换矩阵相乘。任何一组变换都可以表示成一个复合变换矩阵,只需要计算每一个单独变换矩阵,并求解出乘积;从另一个方面讲,任何一个复杂的几何变换都可以看作基本几何变换的组合形式,也叫复合变换 一般情况下,当我们需要对一个图形对象进行较复杂的变换时,我们并不直接去计算这个变换,而是首先将其分解成多个基本变换,再依次用它们作用于图形。这种变换分解,再合成的办法看起来有些麻烦,但是对用户来说更直接,更容易想象。 机械CAD181 复合平移复合平移,是指图形经过两次或以上次的平移。下面是点经过两次连续的平移变换后,其变换矩阵如下: 机械CAD192 复合比例

6、复合平移,是指经过两个连续比例变换后,产生如下的复合变换: 机械CAD203 复合旋转复合旋转,是指经过两个连续旋转变换后,产生如下的复合变换: 机械CAD21在进行复合变换时,通常把复合变换分解成几个简单的几何变换,表示成几个矩阵相乘的形式,因此需要注意矩阵相乘的顺序。由于矩阵乘法不满足交换律,所以在复合几何变换中,矩阵相乘的顺序不可以交换。但是,在一些特殊情况下,可以满足矩阵交换律,如两次连续的平移变换,两次连续的比例变换,两次连续的旋转变换等等;另外,旋转和等比例变换也是可以交换的。 机械CAD224 绕任意点P(xp,yp)旋转变换xq(x, y)(x, y)(xp, yp)y 机械C

7、AD23 机械CAD245 对任意点进行缩放变换 机械CAD25?对任意直线的对称变换 机械CAD2 三维图形几何变换 机械CAD27三维基本变换矩阵snmlrihgqfedpcbaTD3 机械CAD28snmlrjihqfedpcbazyxTpzyxpD113 机械CAD29三维基本变换三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换假 设 三 维 形 体 变 换 前 一 点 为 p ( x , y , z ) , 变 换 后 为p(x,y,z)。 机械CAD301. 平移变换ZYX(x,y,z)(x,y,z)图7-5 平移变换1010000100001TzTyTxT

8、t 机械CAD312. 2. 比例变换比例变换(1)局部比例变换1000000000000jeaTs 机械CAD32(2)整体比例变换sTS000010000100001 机械CAD333. 3. 旋转变换旋转变换zyX图7-7 旋转变换的角度方向 机械CAD34(1)绕z轴旋转1000010000cossin00sincosqqqqRZTzyX 机械CAD35(2)绕x轴旋转 zyX10000cossin00sincos00001qqqqRXT 机械CAD36(3)绕y轴旋转zyX10000cos0sin00100sin0cosqqqqRYT 机械CAD374. 4. 对称变换对称变换(1)

9、关于坐标平面对称关于xy平面进行对称变换的矩阵计算形式为:1000010000100001FxyT 机械CAD38关于yz平面的对称变换为:1000010000100001FyzT 机械CAD39关于zx平面的对称变换为:1000010000100001FzxT 机械CAD40(2)关于坐标轴对称变换关于x轴进行对称变换的矩阵计算形式为:1000010000100001FxT 机械CAD41关于y轴的对称变换为:1000010000100001FyT 机械CAD42关于z轴的对称变换为:1000010000100001FzT 机械CAD435. 错切变换 1000010101hgfdcbTSH

10、 机械CAD44(1)沿x方向错切10000100010001gdTSHx 机械CAD45(2)沿y方向错切10000100010001hbTSHy 机械CAD46(3)沿z方向错切10000100010001fcTSHz 机械CAD476 三维组合变换三维组合变换三维组合变换是指图形作一次以上的变换,变换结果是每次变换矩阵相乘。) 1( )(321nTTTTPTPPn 机械CAD48相对任一参考点的三维变换相对于参考点F(xf,yf,zf)作比例、旋转、错切等变换的过程分为以下三步:(1)将参考点F移至坐标原点(2)针对原点进行二维几何变换(3)进行反平移 机械CAD49(x,y,z)zyx

11、zyx(x,y,z)zyx(x,y,z)zy(x,y,z)xFF图7-8 相对参考点F的比例变换(a)原图(b)移至坐标原点(c)基本比例变换(d)移回F点原来位置例例:相对于F(xf,yf,zf)点进行比例变换 平行投影变换投影变换就是把三维立体(或物体)投射到投影面上得到二维平面图形。投影变换分为平面几何投影和观察投影。平面几何投影主要指平行投影、透视投影以及通过这些投影变换而得到的三维立体的常用平面图形:三视图、轴测图以及透视图等。观察投影是指在观察空间下进行的图形投影变换。 平面几何投影的生成过程如上图所示,在三维空间定义一个点为投影中心(或投影观察点),在定义一个不经过投影中心的投影

12、面,连接投影中心与三维物体的线称为投影线。投影线或其延长线与投影平面相交,生成的物体的像就称为三维物体在二维投影面上的投影。 透视投影的投影中心到投影面之间的距离是有限的。平行投影的投影中心到投影面之间的距离是无限的。 1)正面(V面)投影将三维形体向xoz面(又称V面)作垂直投影(即正平行投影),得到主视图。 2)水平面(H面)投影 三维形体向xoy面(又称H面)作垂直投影得到俯视图, (1) 投影变换 (2)使H面绕x轴负转90 (3)使H面沿z方向平移一段距离z0。 3)侧面投影 获得侧视图是将三维形体往yoz面(侧面W)作垂直投影。 (1)侧视图的投影变换 (2)使W面绕z轴正转90

13、(3)使W面沿负x方向平移一段距离x0。 机械CAD583.7.2 观察变换在进行三维实体建模的过程中不仅要大量地在各个用户坐标系和世界坐标系之间进行切换,而且同时还要不断的改变视向。在绘图过程中,可以按如下的方法来设置观察坐标系。把坐标系的原点设在观察点(即视点)处,让坐标系的一根坐标轴从原点出发,顺着观察方向指向远方。那么该坐标轴上的坐标就反映了空间立体的观察深度大小,该轴即为Z深度坐标轴。然后让另外两根坐标轴中的一根自该原点水平向右(X轴),另一根向上(Y轴)。 坐标系在图形学中,各种坐标可作如下分类: 以维度分:l一维坐标系统 l二维坐标系统 l三维坐标系统 以坐标轴之间的空间关系分:

14、l直角坐标系统 l园柱坐标系统 l球坐标系统 在显示输出的坐标系统中:l世界坐标系(world coordinate Systems) l局部坐标系(Local Coordinate System) l观察坐标系(Viewing coordinate systems) l成像面坐标系统 l屏幕坐标系统(设备坐标系统) 设备坐标系设备坐标系(Device Coordinate System, DCS)图形显示器或绘图机自身有一个坐标系,称它为设备坐标系或物理坐标系。显示器的坐标系的原点设在屏幕的左下角,横向为坐标轴,向右为正增量。与轴垂直的轴,向上为正增量。设备坐标系中,坐标轴的度量单位是光栅单

15、位数(点数),设备坐标中的界限范围就是显示器的分辨率。对于分辨率达10241024的显示器来说, 屏面上坐标值最大的一点就在屏的右上角,坐标度量值是(1023,1023)。 规格化设备坐标系规格化设备坐标系(Normalized Device Coordinate System, NDCS)或称标准设备坐标系。其坐标的度量值在01的实数范围内。在从世界坐标系到设备坐标系的变换中,插入这样一个标准设备坐标系,其目的是使所编制的软件,可以较方便地应用于不同的具体设备上。 世界坐标系 坐标轴上的单位是毫米、厘米、米或英寸、英尺等,由设计者(用户)确定,称用户坐标系 (User Coodinates)

16、 。用户用它来定义二维或三维世界中的物体,故又称世界坐标系(World Coodinates )。其坐标值可以是实型量,也可以为整型量。该坐标系可采用绝对坐标或相对坐标。 在用户坐标中定义的图形各点坐标值,随应用程序输入计算机,并在机内存储,构成了该图形的计算机模型。 局部坐标系局部坐标系(Local Coordinate System),主要为考察物体方便起见,独立于世界坐标系来定义物体几何特性,通常是在不需要指定物体在世界坐标系中的方位的情况下,使用局部坐标系。一旦定义“局部”物体,通过指定在局部坐标系的原点在世界坐标系中的方位,然后通过几何变换,就可很容易地将“局部”物体放入世界坐标系内

17、,使它由局部上升为全局。 观察坐标系 观察坐标系(Viewing coordinate systems),观察坐标系通常是以视点的位置为原点,通过用户指定的一个向上的观察向量(view up vector)来定义整个坐标系统,缺省为左手坐标系,观察坐标系主要用于从观察者的角度对整个世界坐标系内的对象进行重新定位和描述,从而简化几何物体在投影面的成像的数学推导和计算。 机械CAD66窗口-视区变换在计算机图形学中,将在用户坐标系中需要进行观察和处理的一个坐标区域称为窗口区,简称窗口(Window);将窗口映射到显示设备上的坐标区域称为视图区,简称视图(Viewport)。 机械CAD67XWxl

18、WybWxrWyt窗口(a)用户坐标系中的窗口YXVxrVybVyt视区(b)屏幕坐标系中的视区VxlY 机械CAD68 因此,窗口是在用户坐标系中定义的,而视区是在设备坐因此,窗口是在用户坐标系中定义的,而视区是在设备坐标系(屏幕坐标系)中定义的。窗口定义了要显示什么,而标系(屏幕坐标系)中定义的。窗口定义了要显示什么,而视区定义在何处显示。视区定义在何处显示。 通常的窗口和视区都取为边与坐标轴平行的矩形。其它形通常的窗口和视区都取为边与坐标轴平行的矩形。其它形状的窗口和视区,如多边形和圆形的窗口和视区有时也会采状的窗口和视区,如多边形和圆形的窗口和视区有时也会采用,但其处理更为复杂。用,但

19、其处理更为复杂。 窗口和视区分别处在不同的坐标系内,它们所用的长度单窗口和视区分别处在不同的坐标系内,它们所用的长度单位及大小、位置等均不同。因此,要将窗口内的图形在视区位及大小、位置等均不同。因此,要将窗口内的图形在视区中显示出来,必须经过将窗口到视区的变换(中显示出来,必须经过将窗口到视区的变换(Window-Window-Viewport TransformationViewport Transformation)处理,这种变换就是观察变换(处理,这种变换就是观察变换(Viewing TransformationViewing Transformation)。)。 机械CAD69 为了全

20、部、如实地在视区中显示出窗口内的图形对象,为了全部、如实地在视区中显示出窗口内的图形对象,就必须求出图形在窗口和视区间的映射关系。也就是说,需要就必须求出图形在窗口和视区间的映射关系。也就是说,需要根据用户所定义的参数,找到窗口和视区之间的坐标对应关系根据用户所定义的参数,找到窗口和视区之间的坐标对应关系。 假设在观察坐标系下窗口区的左下角坐标为(假设在观察坐标系下窗口区的左下角坐标为(w wxlxl,w wybyb),),右上角坐标为(右上角坐标为(w wxrxr,w wytyt)。)。视区中的左下角坐标为(视区中的左下角坐标为(v vxlxl,v vybyb),),右上角坐标为(右上角坐标

21、为(v vxrxr,v vytyt)。)。 机械CAD70XwxlXwybwxrwyt窗口vxlvybvyt视区窗口到视区的变换窗口到视区的变换( (a)a)窗口中的点窗口中的点( (b)b)视区中的点视区中的点(xw,yw)(xv,yv)vxrYY由图可知:ybytybWybytybVxlxrxlWxlxrxlVWWWyVVVyWWWxVVVx 机械CAD71 将窗口内的点(将窗口内的点(x xw w,y yw w)映射到相对应的视区内的点(映射到相对应的视区内的点(x xv v,y yv v)。)。ybybWybytybytVxlxlWxlxrxlxrVVWyWWVVyVWxWWVVx)(

22、)( 机械CAD72ybybytybytybybytybytxlxlxrxlxrxlxlxrxlxrWWWVVVdWWVVcWWWVVVbWWVVadcyybaxxWVWV 机械CAD73由此可见,窗口视图变换是比例变换和平移变换由此可见,窗口视图变换是比例变换和平移变换的组合变换。先进行平移变换,将窗口左下角坐标移到的组合变换。先进行平移变换,将窗口左下角坐标移到用户坐标原点,接着进行比例变换,使窗口中各点比例用户坐标原点,接着进行比例变换,使窗口中各点比例变换到设备坐标系(屏幕)中,最后再作平移变换,使变换到设备坐标系(屏幕)中,最后再作平移变换,使原点移到视图左下角。原点移到视图左下角。

23、注意:注意:为了使经过窗口视图变换后的图形在视图区中输为了使经过窗口视图变换后的图形在视图区中输出时不产生失真,在定义窗口和视图时,必须保证窗口出时不产生失真,在定义窗口和视图时,必须保证窗口区和视图区高度和宽度之间的比例相同。区和视图区高度和宽度之间的比例相同。 机械CAD74 实际上,由于窗口不一定取为矩形,即便取为矩形,矩形实际上,由于窗口不一定取为矩形,即便取为矩形,矩形边也不一定平行于坐标轴,这时相对应的观察变换就会变得比边也不一定平行于坐标轴,这时相对应的观察变换就会变得比较复杂。较复杂。X窗口用户坐标系中旋转的窗口Y 机械CAD75 为了方便计算,引入观察坐标系为了方便计算,引入

24、观察坐标系( (View Coordinate)View Coordinate)和规格和规格化设备坐标系化设备坐标系( (Normalized Device Coordinate) Normalized Device Coordinate) 。x用户y用户窗口y观察x观察(a)观察坐标系1xNDCyNDC视区1(b)规格化设备坐标系 机械CAD76 所谓观察坐标系是依据窗口的方向和形状在用户坐标平面中所谓观察坐标系是依据窗口的方向和形状在用户坐标平面中定义的直角坐标系;规格化设备坐标系也是直角坐标系,它是将定义的直角坐标系;规格化设备坐标系也是直角坐标系,它是将二维的设备坐标系规格化到(二维的

25、设备坐标系规格化到(0,0)到()到(1,1)的坐标范围内形)的坐标范围内形成。成。 引入了观察坐标系和规格化设备坐标系后,观察变换分为如引入了观察坐标系和规格化设备坐标系后,观察变换分为如下图所示的几个步骤,通常称为二维观察流程。下图所示的几个步骤,通常称为二维观察流程。观察坐观察坐标系下标系下对窗口对窗口进行裁进行裁剪剪窗口到视窗口到视区区( (规范规范化设备坐化设备坐标系中定标系中定义义) )的变的变换换视图区从视图区从规范化坐规范化坐标系到设标系到设备坐标系备坐标系的变换的变换DCDC用户坐用户坐标系到标系到观察坐观察坐标系间标系间的变换的变换应用应用程序程序到图到图形的形的用户用户坐

26、标坐标NDCNDCVCVCWCWCVCVC在图在图形设形设备上备上输出输出 机械CAD77首先,在用户坐标系中生成图形;其次,将用户坐标系下的图形描述变换到观察坐标系下,即进行坐标系间的变换;然后,在观察坐标系下对窗口进行裁剪;裁剪之后进行窗口到视区的变换,即将观察坐标系中描述的窗口内容变换到规格化设备坐标系的视区中;最后,将视区中的图形内容变换到设备坐标系中进行显示。观察坐标系 世界坐标系 造型坐标系 观察变换 投影变换 造型变换 虚拟设备坐标系 设备坐标系 机械CAD783.7.3 动画显示无论采用什么样的具体算法(包括软件和硬件方式),动画显示的基本原理都是一样的,即按照时序逻辑,在屏幕

27、上交替显示和擦除图像(一幅图像称为一个关键帧)。只要擦除和显示关键帧的时间足够短,电影为每秒24帧,就会因人眼的视觉暂留效应而得到动画效果。 机械CAD79动画显示过程可以分为两个基本步骤,清除视频缓冲区(清屏)与在视频缓冲区绘制关键帧(显示)。这两个步骤都需要时间,动画的各种显示技术都围绕这两个时间开展工作,以获得满足要求的显示性能。 机械CAD80首先,动画显示要满足帧速要求。帧速是每秒中播放的关键帧的数目,一般要求不低于24fps,这是电影的标准播放速度。低于这个帧速,会在视觉上引起闪烁的不适感。如果用时间来衡量,则要求清屏时间和显示时间之和不得大1/24秒。 机械CAD81其次,动画显

28、示对关键帧画面有完整性要求。比如,虽然帧速能满足要求,但是绘制时间较之清屏时间要大得多。这样,每次在显示新的一帧时,屏幕将迅速被清掉(清屏时间的长短一般由显示系统的硬件刷新频率决定,可以看成是一个不变的常数),而完成全部关键帧的绘制需要很长的时间,实际上动画是边绘制边显示的。其结果是在1/24秒的大部分时间内看到的将是擦除的背景和不完全的帧画面,特别是帧画面的最后部分可能一幌而过,根本来不及看清楚。动画显示要求消除这种帧画面不完整的现象。 机械CAD821. 双缓冲机制双缓冲机制就是为显示器建立两个视频缓冲区,一个用于在后台刷新屏幕,一个用于在前台绘制关键帧画面。当需要更新关键帧时,就切换两个

29、缓冲区,将原来作刷新用的缓冲区用于绘制新的关键帧,同时将原来作绘制用的缓冲区用刷新显示。采用这样的双缓冲机制,可以克服前面所说的关键帧画面不完整的现象,因为关键帧画面只是在全部绘制以后才提交显示,而且也可以提高帧速,因为刷新和绘制操作是同时进行的,从而可以为绘制赢得更多的时间。 机械CAD832. 延迟刷新为了保持动画显示的平滑性,对于能够快速绘制出的关键帧,往往需要加入一定的延时,然后再放到视频缓冲区中进行刷新显示。延时的长短要由程序中计算量最大的帧的绘制时间决定。延时显示虽然导致总体的帧速在一定程度上降低了,但得到一个快慢一致的均匀的帧速,从而满足了动画显示的平滑性要求。 机械CAD843

30、. 提高写入时间虽然关键帧的写入时间主要是由硬件决定,但在编写软件时,仍然要注意一些问题。比如尽管几乎所有编程系统都提供对像素进行读写的函数,但对于关键帧画面以位图形式进行的应用,尽量不要逐像素进行读写画面,而应该利用编程系统提供的视频缓冲区像素块的读写函数进行将像素存取。因为像素块操作函数经过了优化,这样的操作显然比逐像素读写要快许多倍,从而可以提高帧速以及克服帧画面的不完整性。 机械CAD85阿凡达电影里动画渲染需要的硬盘存储空间就超过1PB,500块2TB硬盘搭建这套存储系统。整部电影大约 3 PB 的数据存放在 BlueArc 和 NetApp 的存储上,数据传输走光纤通道。电影完成时

31、一帧的数据是 12 MB,一秒钟 24 帧,每分钟的数据就有 17.28 GB,而整部 AVATAR 长达 160 多分钟。 机械CAD86维塔数字公司参与特技制作的电影目录The Lovely Bones Avatar District 9 The Day The Earth Stood Still Jumper Enchanted King Kong Lord of the Rings(1、2、3) The Water Horse: Legend of the Deep Fantastic Four: Rise of the Silver Surfer Bridge to Terabith

32、ia Eragon X-Men: The Last Stand I, Robot 机械CAD872008年Weta数据中心重新装配了10000平方米的机房,填满了惠普BL2x220c刀片式服务器,总计拥有4万多个处理器和104TB RAM,通过光纤连接读写大约3PB的数据。多重10G网络连接紧密的包裹起上述装备。为保持机房平稳运转,Weta数据中心装配了强制水冷设备,提升地板增强散热,但也只是勉强抵挡为阿凡达这样的电影运算时散发出的强大热力。每年因为调整一度室温,他们可以节省几万美元。 机械CAD88将真实演员的表情自然转移到完全由计算机创造的数码人物的脸上是实现的关键,而核心技术就是形变捕捉

33、和形变转移。形变捕捉就是在真实演员脸上控制表情的关键点上做上特殊标记,然后演员去演绎这个角色,其中演员每一个表情变化都被计算机传感器精确的捕捉了下来,作为数码人物表情的基础。接下来的表情转移就是用计算机去解一个最优化问题。首先在数码人物的脸上会有对应真实演员数目相同的关键点,成一一映射关系。而优化的目标函数就是真实演员脸部局部形变与数码人物脸部形变的误差,以及从每一帧到下一帧变化的误差。最优化函数的求解可以通过最小二乘法来实现,最后实际上就是解一个方程组。 2011年8月,变形金刚3在中国至少卷走10亿人民币票房,全球票房更是早早突破10亿美元;不过与此同时,幕后操盘“金刚”系列模型与 道具特

34、效的肯纳光学公司却在8月31日宣布“关门大吉”。这个从星球大战开始,一次次以令人惊艳的表现打造了无数好莱坞科幻大片的团队,缘何突然死去?随着电脑CG技术的越发成熟,这次肯纳光学公司的倒闭事件,也被业内人士敏感地捕捉到了一丝讯息好莱坞物理特效的黄金时代,已然终结。 肯纳光学公司,对大部分人来说很陌生。不过说起他的母公司卢卡斯集团下的工业光魔,却是电影特效界的老大哥,肯纳光学的前身就是工业光魔的模型部,自1977年第一部星球大战开启好莱坞大片的“微缩模型时代”开始,这个团队在好莱坞历史上留下了无数光辉作品。 在肯纳光学公司的作品名单里,你能看到很多熟悉的名字。阿凡达、变形金刚系列、加勒比海盗系列、

35、钢铁侠2、夺宝奇兵4、星际迷 航、终结者4、赤壁、机器人瓦力、地心游记等,还有未单干之前的星战系列、E.T、人工智能、珍珠港、黑衣人 机械CAD923.8 图形显示把计算机存储的数字化图形信息显示出来,画在显示器或绘图机上,或输入数控机床进行加工制作,是计算机图形学研究的一个重要内容。计算机存储的图形信息有几何拓扑信息、外观属性信息、附着物理信息及标识管理信息等四大类。图形显示问题实质是以上4大类信息的可视化问题。 机械CAD933.8.1 线框显示线框模型显示是不能令人满意的,虽然线可绘成有粗细(线宽)、间隔(线型)和色彩区别,但对于3D实体而言,线框模型显示存在理解的歧义性(凹凸感、方位感

36、)。 3.8.2 消隐处理人不能一眼看到一个三维物体的全部表面。从一个视点去观察一个三维物体,必然只能看到该物体表面上的部分点、线、面,而其余部分则被这些可见部分遮挡住。如果观察的是若干个三维物体,则物体之间还可能彼此遮挡而部分不可见。因此,如果想有真实感地显示三维物体,必须在视点确定之后,将对象表面上不可见的点、线、面消去。执行这一功能的算法,称为消隐算法。 消隐算法是将物体的表面分解为一组空间多边形,研究多边形之间的遮挡关系。从应用的角度看,有两类消隐问题:线消隐(Hidden-line),它用于线框图;面消隐(Hidden-surface),它用于表面填色。 消除隐藏线和隐藏面是计算机图

37、形学中一个较为困难的问题,消隐算法是决定相对于空间给定位置的观察者,哪些棱边、表面或物体是可见的,哪些是不可见的。消隐不仅与消隐对象有关,还与观察点、观察方向、投影面等的设置方位有关。改变这些设置,物体上某些可见的部分将会变成不可见,某些不可见的部分又会变成可见。 消隐问题被认为是计算机图形学中最具挑战性的问题之一。这个问题的解决主要是围绕算法正确、运算速度快、占内存空间少等目标来进行的。目前已经提出了很多有效的消隐算法,但由于物体的结构千变万化,模型设计方法也多种多样,因此研究高效的消隐算法仍然是人们感兴趣的话题。 在光栅扫描显示器出现以前,图形输出采用的是随机扫描显示器或存储管式显示器,与

38、之相对应的几何模型采用的是线框模型。针对这种画线式的图形显示器和线框模型,人们研究出许多线消隐算法。随着光栅扫描显示器的出现和普遍应用,几何模型也由原来的线框模型发展到具有明暗效应的面模型和实体模型。这时人们便把注意力转移到消除隐藏面的算法上,以产生具有真实色彩的立体图形。众多的消隐算法可以被分为两大类:物(对象)空间算法和像空间算法。 机械CAD991. 对象空间算法考虑由k个三维不透明多边形构成的场景 每个多边形认为是单独的一个对象:两两考虑对象,检测相互之间的位置最糟糕的情形:n个多边形复杂度为O(n2) 机械CAD100画家算法“画家算法”表示头脑简单的画家首先绘制距离较远的场景,然后

39、用绘制距离较近的场景覆盖较远的部分。画家算法首先将场景中的多边形根据深度进行排序,然后按照顺序进行描绘。这种方法通常会将不可见的部分覆盖,这样就可以解决可见性问题。首先绘制远山,然后绘制较近的草地,最后绘制场景中最近的树木等 机械CAD101画家算法把多边形沿从后到前的顺序显示出来,从而被遮住的多边形在显示处被重新激活 深度排序画家算法也称表优先级算法或深度优先排序算法。这种算法排序操作同时在对象空间和图象空间完成,而在图象空间产生消隐图。实现时首先以深度优先级进行排序,距观察点远的面优先级低,近的面优先级高,以此建立一张深度优先级表。然后按优先级表顺序将各面送入帧缓冲器进行显示。 深度优先级

40、表的建立是动态进行的。假定观察方向同Z轴同向,则最初可按各面的最小z值排序。但这一初步排序可能出现差错,如图所示的情况。图中尽管面S1的最小z值小于面S2的最小z值,但正确的顺序是面S2位于面S1前。因此在实际将z值最大的面S写入帧缓冲器之前,需与其它面比较以确定是否在Z方向存在重叠。若无重叠,则对S进行写入,若存在重叠,则需作一些比较以决定是否有必要重新排序。 机械CAD104无法处理 最小最大测试重叠测试或边界盒测试。用来检查两个多边形是否重叠。找到每个多边形的极值(最大和最小的x,y值),然后用一矩形去外接每个多边形,接着检查在x和y方向任意两个矩形是否相交。两多边形的真正交点最终要通过

41、两线段求交算法计算。 包含性测试检查一个给定的点是否位于给定的多边形或多面体内。l 对于凸多边形,将该点的x和y坐标代入每条边的直线方程,结果都产生相同的符号,则该点在每条边的同一侧,因而是被包围的。l 对于非凸多边形,有两种方法:(1)射线交点数算法(2)夹角求和算法 背面剔除(可见性测试)面是可见的,如果 9090等价于 cos0或者v n 0 由于三点可以构成一个平面,和三点可以构成两个矢量,由两矢量的叉积可以求出平面的法线。任取构成平面多边形的三个相邻点P0(x0,y0,z0),P1(x1,y1,z1),P2(x2,y2,z2),按右手规则确定点的顺序,此时有:)()(01121201

42、12120101yyxxyyxxyyxxyyxxC 机械CAD1082. 图像空间算法对每条投影线(对于n m分辨率的帧缓冲区,共有nm条投影线),找到k个多边形中最近的那个,复杂度O(nmk)。 机械CAD109z缓冲区算法应用一个称为z缓冲区或者深度缓冲区的地方存贮在每个像素,到目前为止找到的最近对象的深度。但显示每个多边形时,把它的深度与z缓冲区中存贮的深度进行比较。如果新值小的话,把新的亮度值放到颜色缓冲区中并且用新深度更新z缓冲区。 机械CAD110l 点消隐l 线消隐l 面消隐 机械CAD1113.8.3 着色处理着色处理是在消隐显示基础上增强真实感的图形显示方法。最简单的单色填色

43、就是把面内对应像素点赋予相应的面色,其本质上是区域填充问题,可以用平面扫描线算法和种子连通域算法等技术。另一种是图案填色,此时面对应的像素点需与图案进行坐标匹配(纹理变换),再取出对应图案点色彩填色。复杂的着色问题是对于面的各个顶点赋予不同的色彩值,采用双线性插值技术求出面内部各点颜色值。 机械CAD1123.8.4 光照处理光照处理是在给定环境光源(背景光、聚光,平行光,点光)和物体本身光特性参数(漫反射光、镜面高光,折射光、透射光)的情况下,按照PHONG、WARN光照模型和光线跟踪算法,经过复杂的光照计算,生成景像和阴影。这种技术可以获得与照片相媲美的真实感图形,但是以时间消耗为代价的,

44、常用于设计结果的最后处理和宣传展示以及电影电视数字特技制作。AutoCAD 机械CAD1133.8.5 剪裁处理图形显示最终完成还须进行图形剪裁和视窗变换,实质是解决显示介质的范围有限。如CRT分辨率为640 x480,绘图显示区有界而物体的尺度、细节无限的问题。这就要求指定感兴趣的物体窗口和显示视区进行视窗变换。为了不显示窗口以外的图形,减少无效计算,需要进行剪裁。 机械CAD114直线段的裁剪直线段是组成一切其他图形的基础,任何图形,一般都能用不同直线段组合形成。直线段和剪裁窗口的可能关系:l完全落在窗口内;l完全落在窗口外;l与窗口边界相交 机械CAD115结论: 对于任意一条直线段,它

45、要么被完全排斥在窗口之外,要么在窗口内留下一个可见段,并且只能有一个可见段。因为一条直线段可以由它的两个端点来唯一的确定,因为一条直线段可以由它的两个端点来唯一的确定,所以,要确定一条直线段上位于窗口以内的可见段,仅所以,要确定一条直线段上位于窗口以内的可见段,仅需求得它的两个可见端点就可以了。需求得它的两个可见端点就可以了。 机械CAD116Cohen-Sutherland算法四位编码:上下右左,哪位为1表明端点在窗口哪侧。算法步骤如下:1)对直线两端点编码2)若直线两端点编码均为0000,则属于情况b输出可见线段,退出。3)若线段两端点编码位逻辑与不为0000,则两端点在同一侧,属于情况a

46、,不可见,退出。4)顺序检测端点码位,若某位不为0,则把线段与该位对应的窗口边线(Hor、ver)求交,转步骤(1)。 机械CAD1173.8.6 3D图形处理流程1 几何处理阶段 在电脑内建立3D图形的几何模型,并进行必要的效果处理。这个阶段的3D图形是数字代码,虽然已经作出了完整的特征描述,但不是可视化的。 主要以浮点运算为主,由CPU处理。 1)物理运算 描述形状特征和运动特征。第一步就是建立三维坐标系,第二步把要描述的物理特征转化成数据坐标形式,形成一个由多边形构成的物理模型。为了简化处理,往往把多边形转化成相应的三角形。 机械CAD118在所有程序员和设计师进行各种3D对象设计时,他

47、们使用了和真实世界完全相同的坐标体系(也称作世界坐标)。这样做是为了制作出来的3D图形能够方便的从任意角度观察。但是要将这样的3D世界直接搬到本来就是平面的屏幕上的话,你看到的将会是一堆杂乱无章的色块。为了在屏幕上正确的表现3D对象与对象之间的相互关系和纵深,我们必须将世界坐标转换为能准确展现3D物体纵深关系的另外一种坐标,也就是屏幕坐标。 机械CAD119这张图表示了程序输入GPU中的顶点数据,你可以看到整个汽车是透明无遮挡且杂乱无章的 机械CAD120 2)几何转换 完成物体在不同视点下几何坐标的转换。在CAD中这样的转换并不是一劳永逸的。一旦视点转换,所有图形的坐标也必须重新计算以便让你

48、看到3D对象的“前后左右”。同时3D游戏中的角色的移动和地形的每次变化也必须重新计算新的坐标位置。由于整个Transform基本都是浮点运算,因此会极大的消耗CPU这类通用处理器的资源导致整个3D软件的运行缓慢。而GPU拥有专门的逻辑来进行Transform计算,所以效率和速度都远超过CPU。 机械CAD121GPU与CPU 由于3D游戏对于GPU运算能力的渴求永无止境,GPU也正变得越来越庞大复杂,其规模甚至超过了同时代的CPU。在2002年,Intel奔腾4处理器一共有5500万个晶体管,而与它同时期的ATi Radeon 9700显卡核心芯片具备1.1亿个晶体管! 目前能买到的民用最高端

49、处理器,Intel Core i7 3960X,也就是6个物理核心,12个线逻辑核心,22.7亿个晶体管,内存带宽也不过最大25.6GB/S。而与之相比,GK104芯片(GPU)具备35亿个晶体管 ,1536个计算核心,近200GB/S的带宽! 机械CAD122 GTX690是NVIDIA于2012年4月29日发布的开普勒架构的双核心旗舰。GTX690基于两颗GK104核心。根据NV提供的数据,基于GK104架构的单颗芯片能达到2.8TFlops(一个TFlops等于每秒钟万亿次浮点指令运算)以上的双精度浮点运算能力。相比之下,当年在那场著名对决中击败人类棋王卡斯帕罗夫的IBM 深蓝超级计算机

50、,也不过只有11.38GigaFlops而已。 2012,6 机械CAD126 3)照明处理 根据光源的性质和角度,计算物体的光效。 4)三角形设定 将3D图形的各个空间面转换成相应视角下的2D几何图形 机械CAD1272 光栅处理阶段完成由数字几何模型向屏幕显示的实际3D图像的转化,并针对图像视觉效果作必要的处理和修正。此时的3D图形已经可见。3D图像处理的全过程就像根据口供给罪犯画像,几何处理阶段相当于证人在描述嫌疑人特征,而光栅处理阶段则是按照描述勾绘出具体的样貌。主要以整数运算为主,由3D图形卡处理。 1)可见性判断 确定物体的遮挡关系 机械CAD128从线框图中我们可以看到此时的汽车

51、并没有被计算相互遮挡关系 机械CAD129在日常生活中物体总是相互遮挡的,我们只能看到眼前的那个物体,而无法穿透前面那个物体看到在其背后的东西。3D世界同样需要遵循这个原则,在完成坐标转换之后,遮挡剔除系统还要对这些顶点进行对比从而确定哪些顶点不被显示,而哪些顶点是必须显示的。通过遮挡剔除计算,上面汽车图形中另外一边的2个轮子顶点将会被标示为不可见。 机械CAD1302)纹理映射 赋予模型以不同的材质 机械CAD131 3)着色渲染 把在几何处理阶段照明处理中得到的光影数据像素化 4)平滑处理 消除由于屏幕显示效果不佳造成的图像失真。 机械CAD132在重新计算顶点坐标和确定遮挡(Clippi

52、ng)之后,汽车已经初具外形 机械CAD1333.8.7 可视化显示在完成几何拓扑信息显示时,有时还需要完成物理信息显示。这就是科学计算可视化CV问题。按照物理信息附着的几何对象进行分类,可以分为1D线、2D面、3D体可视化问题;按照物理量性质分类,可以分为标量(强度、能量、平均应力)、矢量(位移、速度、加速度、压力、流量)和张量(应力)可视化问题。 机械CAD1341)1D对象物理信息可视化。对于标量可视化,一种处理方法是可以组合成点列形式绘制成曲线,此时把物理量视作y几何坐标量。曲线形式可以有线型、线宽、色彩区别。曲线可绘制连续折线形式外,也可绘成阶梯线段、多点记号及填充图、直方图、分布图

53、。另一种处理方法是以把物理量映射成色彩量,予以色条显示,也可映射成圆点大小、线条粗细、网格密度形式显示。对于矢量可视化,可以按分量分别显示,也可绘制箭头图(长度与方向)显示。对于张量可视化,一般简化成分量或平均值显示。 机械CAD1352)2D对象物理信息可视化。可以采用相似处理策略,把标量、矢量分量、张量合成量处理成高一维的几何量,显示曲面图形;也可以显示色彩、箭头、线宽粗细图、等值线图、等值着色图和流线图(流线切线方向与稀密代表矢量大小、方向及变化率)。 机械CAD1363)3D对象物理信息可视化。对于标量信息,可以显示3D填色图和等值线图,对于内部物理信息表述可采用剖切图方式显示。对于矢

54、量信息,可以显示三维箭头图、流线图、流管图、流带图等等。对于张量可以显示成扭曲簧管箭头图。基本思想是利用代表图符,图符的大小、粗细、扭动均用于指代物理量大小、方向及扭向。 机械CAD1374) 4D对象物理信息可视化。可把其中一维处理成时间维,采用动画、变形方式显示。 机械CAD1383.9 图形库1. OpenGLOpenGL是在SGI等多家世界闻名的计算机公司的倡导下,以SGI的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。目前,包括Microsoft、SGI、IBM、SUN、HP等大公司都采用了OpenGL做为三维图形标准,许多软件厂商也纷纷以OpenGL为基础开发出自己的

55、产品。其中比较著名的产品包括:动画制作软件Softimage和3D Studio MAX、仿真软件Open Inventor、VR软件World Tool Kit、CAM软件Pro/Engineer、GIS软件ARC/INFO等等。 机械CAD139OpenGL的优越性独立于窗口系统和操作系统以它为基础开发的应用程序可以十分方便地在各种平台间移植使用简便,效率高 机械CAD140OpenGL图形库的功能一共有100多个函数。l建模功能。除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面(如Bezier、NURBS等曲线或曲面)绘制函数。

56、 l变换功能。基本几何变换和投影变换 l颜色模式设置l光照和材质设置 l纹理映射功能l位图显示和图像增强l双缓存(Double Buffering)动画 机械CAD141毕业设计 机械CAD142 机械CAD1432. DirectXDirectX是一种应用程序接口(API),它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。

57、 机械CAD144基于COM标准设计,包含许多组件每一个组件服务于图形、声音、输入、网络等特定需求DirectX AudioDirectX GraphicsDirectInputDirectPlayDirectShow 机械CAD1453. Java3D美国Sun公司推出的用于处理、控制和绘制三维场景的编程接口,能支持三维物体生成(或载入其他软件生成的三维物体)光照纹理映射透明效果雾化效果动画物体变形立体图像碰撞检测用户与三维场景交互 机械CAD146 用Java 3D编写的程序可运行于不同的平台和Internet之上对OpenGL和DirectX等进行了有效封装 机械CAD147毕业设计 机

58、械CAD148 机械CAD149 机械CAD1504. 三维几何造型引擎l ACISl Parasolid 三维几何造型引擎ACISACIS是一个基于面向对象软件技术的三维几何造型引擎,它是美国Spatial公司的产品。它可以为应用软件系统提供功能强大的几何造型功能。ACIS作为一个世界级的几何造型平台,集成了当今先进的造型方法与技术,以他为基础开发图形系统或者作为学习研究几何造型技术的工具都可以获得事半功倍的效果。ACIS一词有英国剑桥博士Ian Braid及其同窗Alan Grayer、导师Charles Lang三人的名字的第一个字母再加上Solid(实体)的第一个字母组合而成。 ACI

59、S是用C+技术构造的,它包含了一整套C+类(包括数据成员和方法)和函数,开发人员可以使用这些类和函数构造有关某些终端用户的2/3维软件系统。ACIS可以向应用程序提供一个包括曲线、曲面和实体造型的统一开发环境,它提供了通用的基本造型功能,用户也可以根据自己的特殊需要采用其中的一部分,也可以在这个基础上扩展它的功能。在ACIS中集成了线框造型、曲面造型以及实体造型方法,而且这些造型方法可以在一个统一的数据结构中共存,因此,一个ACIS实体可以用上述方法中的一种和多种同时表示。 从应用角度看,初学者(尤其是在C+环境下的ACIS的初学者)可以把ACIS看成C+环境中的一个图形开发类库,而C+是它的

60、运行环境。C+应用程序与ACIS的接口可以通过API(Application Procedural Interface,应用程序接口)、C+类及其直接接口函数来实现。对于Microsoft的Windows平台,开发人员也可以在MFC(Microsoft Foundation Class,微软基本类库)中使用ACIS接口 ACIS是用C+构造的图形系统开发平台,它包括一系列的C+函数和类(包括数据成员和方法)。开发者可以利用这些功能开发面向终端用户的三维造型系统。ACIS是一个实体造型器,但是线框和曲面模型也可以在ACIS中表示。ACIS通过一个统一的数据结构来同时描述线框、曲面和实体模型,这个

温馨提示

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

评论

0/150

提交评论