
CG7-几何造型技术课件.ppt
63页1第第7章章 几何造型技术几何造型技术l主要内容:主要内容:Ø7.0 三维图形学的基本问题三维图形学的基本问题Ø7.1 三维模型三维模型Ø7.2 实体造型技术实体造型技术Ø7.3 分形几何法分形几何法21 、、 如何在二如何在二维屏幕上屏幕上显示三示三维物体物体Ø显示器屏幕、图纸等是二维的显示器屏幕、图纸等是二维的Ø显示对象是三维的显示对象是三维的Ø解决方法解决方法u投影投影7.0 三维图形学的基本问题三维图形学的基本问题3二、如何反映遮二、如何反映遮挡关系关系Ø物体之间或物体的不同部分之间存在相互遮挡关系物体之间或物体的不同部分之间存在相互遮挡关系u遮挡关系是空间位置关系的重要组成部分遮挡关系是空间位置关系的重要组成部分Ø解决方法解决方法u消除隐藏面与隐藏线消除隐藏面与隐藏线7.0 三维图形学的基本问题三维图形学的基本问题4三、如何三、如何产生真生真实感感图形形Ø人们观察现实世界产生的真实感来源于人们观察现实世界产生的真实感来源于u空间位置关系空间位置关系ü近大近大远小的透小的透视关系和遮关系和遮挡关系关系u物体表面颜色物体表面颜色ü光光线传播引起的物体表面播引起的物体表面颜色的自然分布色的自然分布Ø解决方法解决方法u建立光照明模型、开发真实感图形绘制方法建立光照明模型、开发真实感图形绘制方法7.0 三维图形学的基本问题三维图形学的基本问题5l三三维图形学的基本研究内容形学的基本研究内容Ø用二维来表示三维(投影)用二维来表示三维(投影)Ø消除隐藏面与隐藏线(消隐处理)消除隐藏面与隐藏线(消隐处理)Ø建立光照明模型、真实感图形绘制方法(建立光照明模型、真实感图形绘制方法(真实感图真实感图形设计)形设计)7.0 三维图形学的基本问题三维图形学的基本问题67.1 三维模型三维模型模型分类模型分类7一、数据模型一、数据模型Ø完全以数据来描述完全以数据来描述u用用8个顶点表示的立方体个顶点表示的立方体üA1(0,0,0)üA2 (0,0,1)ü……üA8 (1,1,1)u以中心点和半径表示的球以中心点和半径表示的球üO((0,,0,,0))üR==707.1 三维模型三维模型8Ø1、线框模型、线框模型u线框模型线框模型将形体表示成一组轮廓线的集合将形体表示成一组轮廓线的集合ü 与形体之与形体之间不存在一一不存在一一对应关系关系ü 是真是真实物体的高度抽象物体的高度抽象ü 表示表示简单、、处理速度快理速度快7.1 三维模型三维模型9 顶点顶点 坐标坐标值值 1 0,0,1 2 1,0,1 3 1,1,1 4 0,1,0 5 0,0,0 6 1,0,0 7 1,1,0 8 0,1,0 棱边棱边 顶点号顶点号 1 1, 2 2 2, 3 3 3, 4 4 4, 1 5 5, 6 6 6, 7 7 7, 8 8 8, 5 9 1, 5 7 2, 6 11 3, 7 12 4, 8 7.1 三维模型三维模型Ø线框模型的数据结构线框模型的数据结构 10u线框模型的特点线框模型的特点ü线框模型不表示面的信息框模型不表示面的信息ü对线框模型描述的框模型描述的实体可能有不同的理解体可能有不同的理解ü线框模型不能表示出物体的完整信息框模型不能表示出物体的完整信息ü三三维线框模型可能表示不出框模型可能表示不出实体的体的轮廓廓线7.1 三维模型三维模型11Ø2、表面模型、表面模型u表面模型将形体表示成一组表面的集合表面模型将形体表示成一组表面的集合ü形体与其表面一一形体与其表面一一对应,适合于真,适合于真实感感显示示7.1 三维模型三维模型12u 表面模型的数据结构表面模型的数据结构ü在框模型的基框模型的基础上附加一个反映有关面的信息表上附加一个反映有关面的信息表 表面表面 棱边表棱边表 1 1, 2, 3, 4 1 1, 2, 3, 4 2 5, 6, 7, 8 2 5, 6, 7, 8 3 1, 7,5, 9 3 1, 7,5, 9 4 2, 11,6,7 4 2, 11,6,7 5 3, 12,7,11 5 3, 12,7,11 6 4, 9, 8,12 6 4, 9, 8,12 7.1 三维模型三维模型13Ø3、实体模型、实体模型u用来描述实体,主要用于用来描述实体,主要用于CAD/CAMCAD/CAMü包含了描述一个包含了描述一个实体所需的体所需的较多信息,如几何信多信息,如几何信息、拓扑信息息、拓扑信息7.1 三维模型三维模型14Ø数据建模的特点数据建模的特点u优点:优点:ü数数据据建建模模方方法法历史史最最久久,,建建立立在在牢牢固固的的数数学学基基础上上ü在在需需要要精精确确描描述述的的场合合中中((如如CADCAD)), ,有有其其它它方方法无法替代的作用法无法替代的作用u缺点:缺点:ü如果如果场景复景复杂,建模困,建模困难ü绘制速度慢制速度慢7.1 三维模型三维模型15二、二、过程模型程模型( (基于分形建模基于分形建模) )Ø对于自然景物的模拟非常逼真对于自然景物的模拟非常逼真u尤其在生态环境的模拟方面,是当前最有效的方法尤其在生态环境的模拟方面,是当前最有效的方法Ø精确性不高精确性不高u分形描述的是具有自相似性的物体,所以它无法达分形描述的是具有自相似性的物体,所以它无法达到几何模型的精确性到几何模型的精确性Ø算法比较复杂算法比较复杂u分形中由于细节的无限性,在绘制时,相交检测、分形中由于细节的无限性,在绘制时,相交检测、可视点的测定等算法比较复杂可视点的测定等算法比较复杂7.1 三维模型三维模型167.2 实体造型技术实体造型技术l实体造型技体造型技术Ø7.2.1 实体造型实体造型Ø7.2.2 实体的正则性实体的正则性Ø7.2.3 实体造型技术实体造型技术177.2.1 实体造型实体造型l造型技造型技术Ø研究如何在计算机中建立适当的模型,来表示真实世研究如何在计算机中建立适当的模型,来表示真实世界的物体界的物体l三三维欧氏几何欧氏几何实体描述体描述Ø基本三维几何实体基本三维几何实体u由点、线、面构成由点、线、面构成Ø复杂三维几何实体复杂三维几何实体u由简单的基本三维几何实体组合构成由简单的基本三维几何实体组合构成18l正正则实体体Ø指三维几何实体中不包含独立存在的低维部分,如二维指三维几何实体中不包含独立存在的低维部分,如二维的面、一维的线、零维的点。
的面、一维的线、零维的点u也就是通常所说的悬面、悬边或孤点也就是通常所说的悬面、悬边或孤点7.2.2 实体的正则性实体的正则性19几何元素几何元素正则形体正则形体面面边边点点是形体表面一部分是形体表面一部分只有两个邻面只有两个邻面至少和三个面(或三条边)邻接至少和三个面(或三条边)邻接7.2.2 实体的正则性实体的正则性Ø正则实体的要求正则实体的要求20Ø集合运算集合运算u集合运算(并、交、差)是构造形体的基本方法集合运算(并、交、差)是构造形体的基本方法u正则形体经过集合运算后,可能会产生悬边、悬面正则形体经过集合运算后,可能会产生悬边、悬面二个二维图形的交产二个二维图形的交产生一个退化的结果生一个退化的结果7.2.2 实体的正则性实体的正则性21Ø正则化处理正则化处理u正则化处理是正则化处理是保证集合运算的结果仍是一个正则形保证集合运算的结果仍是一个正则形体,即丢弃悬边、悬面等体,即丢弃悬边、悬面等7.2.2 实体的正则性实体的正则性22l欧拉公式欧拉公式Ø简单多面体(即三维实体上没有孔)简单多面体(即三维实体上没有孔)u顶点(顶点(v v)-边数()-边数(e e)+面数()+面数(f f)=)=2 27.2.2 实体的正则性实体的正则性23Ø任意的正则形体任意的正则形体u引入形体的其它几个参数:引入形体的其它几个参数:ü实体所有面上的内孔(内体所有面上的内孔(内环)数)数 (r)ü实体的通孔数体的通孔数 (h)ü实体个数体个数 (s)u则形体满足公式:则形体满足公式:ü顶点-点-边数+面数-数+面数-环数+数+2通孔数-通孔数-2实体数体数=0ü即即::v-e+f-r+2h-2s=0v-e+f-r+2h-2s=07.2.2 实体的正则性实体的正则性24Ø欧拉公式:欧拉公式:v-e+f-r+2h-2s=0v-e+f-r+2h-2s=0u如图如图a a中,中,v v=8=8、、e e=12=12、、f f=6=6、、r r=0=0、、h h=0=0、、s s=1=1ü满足欧拉公式足欧拉公式u如图如图b b中,中,v v=14=14、、e e=21=21、、f f=9=9、、r r=2=2、、h h=1=1、、s s=1=1ü满足欧拉公式足欧拉公式7.2.2 实体的正则性实体的正则性25267.2.3 实体造型技术实体造型技术l实体造型技体造型技术分分类::Ø(一)(一) 实体分解表示实体分解表示Ø(二)(二) 实体构造表示实体构造表示Ø(三)(三) 实体实体边界表示边界表示27Ø表示表示原理原理u将形体按某种规则分解为小的易于描述的部分将形体按某种规则分解为小的易于描述的部分u每一小部分又可分为更小的部分每一小部分又可分为更小的部分u直至每一小部分都能够直接描述为止直至每一小部分都能够直接描述为止Ø表示表示方法方法u1 1、空间位置枚举、空间位置枚举u2 2、八叉树法、八叉树法u3 3、单元分解、单元分解(一)实体分解表示(一)实体分解表示281、空、空间位置枚位置枚举法法Ø选择一个立方体空间,将它均匀划分选择一个立方体空间,将它均匀划分(一)(一) 实体分解表示实体分解表示29Ø空间位置枚举表示空间位置枚举表示u用三维数组用三维数组C[i][j][k]C[i][j][k]表示物体,数组中的元素与表示物体,数组中的元素与单位小立方体一一对应单位小立方体一一对应ü当当C[i][j][k] = 1C[i][j][k] = 1时,表示,表示对应的小立方体被物的小立方体被物体占据体占据ü当当C[i][j][k] = 0C[i][j][k] = 0时,表示,表示对应的小立方体没有的小立方体没有被物体占据被物体占据(一)(一) 实体分解表示实体分解表示30Ø空间位置枚举空间位置枚举法的优点法的优点u可以表示任何物体可以表示任何物体u容易实现物体间的集合运算容易实现物体间的集合运算u容易计算物体的整体特征,如体积等容易计算物体的整体特征,如体积等Ø空间位置枚举法的空间位置枚举法的缺点缺点u占用大量的存储空间,如占用大量的存储空间,如1024*1024*1024 = 1G bu没有边界信息,不适于图形显示没有边界信息,不适于图形显示u对物体进行几何变换困难,如非对物体进行几何变换困难,如非90度的旋转变换度的旋转变换u是物体的非精确表示是物体的非精确表示(一)(一) 实体分解表示实体分解表示312、八叉、八叉树法法Ø对空间位置枚举表示的空间分割方法作了改进对空间位置枚举表示的空间分割方法作了改进u均匀分割均匀分割 自适应分割自适应分割Ø建立过程建立过程u八叉树的根节点对应整个物体空间;八叉树的根节点对应整个物体空间;u如果它完全被占据,将该节点标记为如果它完全被占据,将该节点标记为F F,算法结束;,算法结束;u如果它内部为空,将该节点标记为如果它内部为空,将该节点标记为E E,算法结束;,算法结束;u如果它被物体部分占据,将该节点标记为如果它被物体部分占据,将该节点标记为P,P,并将它并将它分割成分割成8 8个子立方体个子立方体u对每一个子立方体进行上述同样的处理对每一个子立方体进行上述同样的处理(一)(一) 实体分解表示实体分解表示32 (一)(一) 实体分解表示实体分解表示33Ø八叉树法的优点八叉树法的优点u可以表示任何物体可以表示任何物体u容易实现物体间的集合运算容易实现物体间的集合运算u容易计算物体的整体性质,如体积等容易计算物体的整体性质,如体积等Ø八叉树法的缺点八叉树法的缺点u没有边界信息,不适于图形显示没有边界信息,不适于图形显示u对物体进行几何变换困难对物体进行几何变换困难u是物体的非精确表示是物体的非精确表示(一)(一) 实体分解表示实体分解表示34(一)(一) 实体分解表示实体分解表示3 3、、单元分解表示元分解表示Ø对空间位置枚举表示的空间分割方法作了改进对空间位置枚举表示的空间分割方法作了改进u单一体素单一体素 多种体素多种体素35(一)(一) 实体分解表示实体分解表示Ø单元分解表示的单元分解表示的优点优点u表示简单表示简单u容易实现几何变换容易实现几何变换u基本体素可以按需选择,表示范围较广基本体素可以按需选择,表示范围较广u可以精确表示物体可以精确表示物体Ø单元分解表示的单元分解表示的缺点缺点u物体的表示不唯一物体的表示不唯一u物体的有效性难以保证物体的有效性难以保证36(一)(一) 实体分解表示实体分解表示l三种空三种空间分割方法的比分割方法的比较Ø空间位置枚举表示空间位置枚举表示u同样大小立方体粘合在一起表示物体同样大小立方体粘合在一起表示物体Ø八叉树表示八叉树表示u不同大小的立方体粘合在一起表示物体不同大小的立方体粘合在一起表示物体Ø单元分解表示单元分解表示u不同形状的几何体粘合在一起表示物体不同形状的几何体粘合在一起表示物体37(二)(二) 实体构造表示实体构造表示Ø表示原理表示原理u按照实体生成过程来定义形体的方法按照实体生成过程来定义形体的方法Ø表示方法表示方法u1、扫描表示、扫描表示u2、构造实体几何、构造实体几何(CSG)表示表示u3、特征表示、特征表示381、、扫描法描法Ø扫描表示扫描表示u一个基体(一般是一个封闭的平面轮廓)沿某一路一个基体(一般是一个封闭的平面轮廓)沿某一路径运动而产生形体径运动而产生形体Ø扫描表示的两个分量扫描表示的两个分量u一个是被运动的基体,另一个是基体运动的路径一个是被运动的基体,另一个是基体运动的路径u运动方式:平移、旋转、对称等运动方式:平移、旋转、对称等Ø基体的形状可以不变,也可以变化基体的形状可以不变,也可以变化u如果变化,还要给出变化的规律如果变化,还要给出变化的规律(二)(二) 实体构造表示实体构造表示39Ø平移扫描平移扫描u将一个二维区域沿着一个矢量方向推移将一个二维区域沿着一个矢量方向推移(二)(二) 实体构造表示实体构造表示40Ø旋转扫描旋转扫描u将一个二维区域绕旋转轴旋转一周将一个二维区域绕旋转轴旋转一周(二)(二) 实体构造表示实体构造表示41(二)(二) 实体构造表示实体构造表示Ø将物体将物体A沿着轨迹沿着轨迹P推移得到物体推移得到物体B,称,称B为为sweep体体42Ø扫描法的应用扫描法的应用u三维几何实体的绘制三维几何实体的绘制ü拉伸、旋拉伸、旋转u三维几何实体的编辑三维几何实体的编辑ü拉伸面、着色面拉伸面、着色面u曲面的绘制曲面的绘制ü拉伸、旋拉伸、旋转(二)(二) 实体构造表示实体构造表示43(二)(二) 实体构造表示实体构造表示2、构造、构造实体几何体几何(CSG)表示表示ØCSG((Constructive Solid Geometry)表示方法)表示方法u将简单的基本几何实体通过集合的交、并、差运算将简单的基本几何实体通过集合的交、并、差运算产生复杂的几何实体产生复杂的几何实体Ø常用的基本几何实体常用的基本几何实体u长方体、球体、圆柱体、圆锥体、圆环体等长方体、球体、圆柱体、圆锥体、圆环体等Ø复杂几何实体复杂几何实体u可由基本几何实体经集合运算生成可由基本几何实体经集合运算生成u生成过程可以用二叉树(生成过程可以用二叉树( CSG树)来描述树)来描述44Ø二叉树(二叉树( CSG树)树)(二)(二) 实体构造表示实体构造表示45ØCSG树构造法的优点树构造法的优点u表示简单、直观表示简单、直观u可做为图形输入手段可做为图形输入手段u容易计算物体的整体性质容易计算物体的整体性质ØCSG树构造法的缺点树构造法的缺点u表示不唯一表示不唯一u不能直接用于显示不能直接用于显示u求交计算麻烦求交计算麻烦(二)实体构造表示(二)实体构造表示463、特征表示、特征表示Ø用一组特征参数表示一族类似的物体用一组特征参数表示一族类似的物体u特征包括形状特征、材料特征等特征包括形状特征、材料特征等Ø适用于工业上标准件的表示适用于工业上标准件的表示(二)(二) 实体构造表示实体构造表示47Ø边界表示的原理边界表示的原理u物体的边界与物体一一对应,确定了物体的边界也物体的边界与物体一一对应,确定了物体的边界也就确定了物体本身。
就确定了物体本身u按照体-面-环-边-点的层次,详细记录构成形按照体-面-环-边-点的层次,详细记录构成形体的所有几何元素的几何信息及其拓扑关系体的所有几何元素的几何信息及其拓扑关系Ø边界表示(边界表示(Boundary Representation)是几何造型)是几何造型中最成熟、无二义的表示法中最成熟、无二义的表示法(三)实体边界表示(三)实体边界表示48(三)实体边界表示(三)实体边界表示49Ø边界表示的优点边界表示的优点u精确表示物体精确表示物体u表示能力强表示能力强u几何变换容易几何变换容易u适于显示处理适于显示处理Ø边界表示的缺点边界表示的缺点u表示复杂表示复杂u有效性难以保证有效性难以保证u集合运算复杂集合运算复杂(三)实体边界表示(三)实体边界表示50分解表示分解表示扫描表示扫描表示特征表示特征表示边界表示边界表示构造实体构造实体几何表示几何表示精确性精确性表示域表示域唯一性唯一性封闭性封闭性简洁性简洁性输入输入输出输出近似近似精确精确有条件有条件精确精确有条件有条件精确精确有条件有条件精确精确有限有限有限有限任何实体任何实体任何实体任何实体有条件有条件有限有限唯一唯一不唯一不唯一封闭封闭封闭封闭不封闭不封闭不能进行不能进行集合运算集合运算有条件有条件复杂复杂简洁简洁简洁简洁简洁简洁介于两者介于两者之间之间面向用户面向用户面向用户面向用户面向用户面向用户支持加工支持加工支持计算支持计算几种方法的比较几种方法的比较517.3 分形几何方法分形几何方法l分形几何方法分形几何方法Ø欧氏几何主要描述的是欧氏几何主要描述的是u直线、平滑的曲线直线、平滑的曲线u平面及边界整齐的平滑曲面平面及边界整齐的平滑曲面Ø对于复杂的自然景象,难以表示对于复杂的自然景象,难以表示u诸如山、树、草、火、云、波浪等,因为从欧氏几诸如山、树、草、火、云、波浪等,因为从欧氏几何来看,它们是极端无规则的何来看,它们是极端无规则的Ø为了解决复杂图形生成问题,可采用分形造型方法为了解决复杂图形生成问题,可采用分形造型方法52l分形造型分形造型对模型的基本要求:模型的基本要求:1.1.能能““逼真逼真””地地““再现再现””自然景象自然景象u““逼真逼真””是指从视觉效果上逼真是指从视觉效果上逼真u““再现再现””即不要求完全一致即不要求完全一致⒉ ⒉ 模型不依赖于观察距离模型不依赖于观察距离u距离远时可给出大致轮廓和一般细节距离远时可给出大致轮廓和一般细节u距离近时能给出更丰富细节距离近时能给出更丰富细节3. 3. 模型应便于交互地修改模型应便于交互地修改4. 4. 图形生成的效率要高图形生成的效率要高5. 5. 模型适用范围应尽可能地广模型适用范围应尽可能地广7.3 分形几何方法分形几何方法53l例例1 1::KochKoch雪花曲雪花曲线Ø 将一个等边三角形的三边都三等分,在中间的那一段将一个等边三角形的三边都三等分,在中间的那一段再凸起一个小三角形,这样一直下去。
再凸起一个小三角形,这样一直下去Ø KochKoch曲线的形状类似于雪花,因此也称为雪花曲线曲线的形状类似于雪花,因此也称为雪花曲线7.3 分形几何方法分形几何方法547.3 分形几何方法分形几何方法55Von koch snowflake56例例2: 2: 测量海岸量海岸线长度度Ø用一个用一个1000m1000m的尺子的尺子, ,可以得到一个长度为可以得到一个长度为L1L1u测量会漏掉许多小于测量会漏掉许多小于1000m1000m的小湾,因而结果不精确的小湾,因而结果不精确Ø如果尺子缩到如果尺子缩到1m1m,得到一个新的结果,得到一个新的结果L2L2,显然,显然L2>L1L2>L1u一般来说,如果用长度为一般来说,如果用长度为r r的尺子来量,将会得到一的尺子来量,将会得到一个与个与r r有关的数值有关的数值L(r)L(r)Ø与与KochKoch的雪花一样的雪花一样r→0r→0,,L(r)→∞L(r)→∞u海岸线长度是不确定的,它与测量用的尺子长度有海岸线长度是不确定的,它与测量用的尺子长度有关关7.3 分形几何方法分形几何方法57lKochKoch雪花和海岸雪花和海岸线长度的共同特点:度的共同特点:Ø无限细节无限细节u任意小的局部范围内都有无限的细节,都有细节的任意小的局部范围内都有无限的细节,都有细节的无穷回归无穷回归Ø自相似性自相似性u将其中的一部分放大会得到与原来部分基本一致的将其中的一部分放大会得到与原来部分基本一致的形态,这就是复杂现象的整体和局部之间的自相似形态,这就是复杂现象的整体和局部之间的自相似性。
性7.3 分形几何方法分形几何方法59l不不规则形体的建模方法形体的建模方法Ø随机插值模型随机插值模型u模拟海岸线和山等自然景象,模拟海岸线和山等自然景象,19821982年年Ø粒子系统粒子系统u适合描述动态变化的火焰、烟、和被风吹动的草适合描述动态变化的火焰、烟、和被风吹动的草等,等,19831983年年Ø基于文法的模型(基于文法的模型(L L系统)系统)u该模型是为模拟植物而引入的,该模型是为模拟植物而引入的,19841984年年 Ø迭代函数系统迭代函数系统7.3 分形几何方法分形几何方法60l粒子系粒子系统方法方法Ø适用范围适用范围u随时间不断变化,具有随时间不断变化,具有““流体流体””性质的自然景物性质的自然景物或非规则形状或非规则形状ü如云、烟、火、瀑布、水滴和草如云、烟、火、瀑布、水滴和草丛等等u尤其擅长描述物体的流动、翻腾、飞溅或膨胀等尤其擅长描述物体的流动、翻腾、飞溅或膨胀等变化形态变化形态7.3 分形几何方法分形几何方法61Ø粒子描述方法粒子描述方法u用粒子来表示对象的基本几何元素用粒子来表示对象的基本几何元素u粒子具有一定的特性粒子具有一定的特性ü大小、形状、大小、形状、颜色、运色、运动方向、速度、生命周方向、速度、生命周期等期等u粒子的特性随时间不断变化,直至消失粒子的特性随时间不断变化,直至消失u所有粒子的属性、变化及消失可以相互独立,并所有粒子的属性、变化及消失可以相互独立,并不保持一致不保持一致7.3 分形几何方法分形几何方法62Ø粒子描述过程粒子描述过程u1 1、根据时间随机产生控制参数、根据时间随机产生控制参数u2 2、根据控制参数确定区域范围、根据控制参数确定区域范围u3 3、把区域边界作为物体的外部轮廓,内部由粒子、把区域边界作为物体的外部轮廓,内部由粒子填充填充u4 4、指定粒子的特性、指定粒子的特性ü大小、形状、大小、形状、颜色、运色、运动方向、速度、生命周方向、速度、生命周期等期等7.3 分形几何方法分形几何方法。