计算机图形学第四章教案精选文档.ppt
计算机图形学第四章教案2023/1/27河北农业大学河北农业大学 张玉新张玉新1本讲稿第一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新2一般把研究如何在计算机中建立恰当的模型表示不同图形对象的技术称为造型技术造型技术。有两类图形对象:规则对象:几何造型、几何模型规则对象:几何造型、几何模型不规则对象:不规则对象:本讲稿第二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新34.1.1 基本图形元素与段的概念基本图形元素与段的概念4.1 基本概念基本概念基本图形元素:基本图形元素:图素或图元、体素。图图素素是指可以用一定的几何参数和属性参数描述的最基本的图形输出元素。例如点、线、圆等本讲稿第三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新4体体素素是三维空间中可以用有限个尺寸参数定位和定形的体,常有三种定义形式:(1)从实际形体中选择出来,可用一些确定的尺寸参数控制其最终位置和形状的一组单元实体(2)由参数定义的一条(或一组)轮廓线沿一条(或一组)空间参数曲线作扫描运动而产生的形体。(3)用代数半空间定义的形体本讲稿第四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新5段(段(也称图段、结构和对象)段段是指具有逻辑意义的有限个图素(或体素)及其附加属性的集合,是用基本图素或体素按照一定的结构规则形成的。本讲稿第五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新6图素或体素用数据来描述,段用规则来描述。段可以嵌套段一般具有三个特性:可见性、醒目性、可选择性。本讲稿第六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新74.1.2 几何信息与拓扑信息几何信息与拓扑信息图形对象及构成它的点、线、面的位置、相互间关系和几何尺寸等都是图形信息图形信息;表示图形对象的线型、颜色、亮度以及供模拟、分析用的质量、比重、体积等数据,是有关对象的非图形信息非图形信息。本讲稿第七页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新8图形信息又包括:几何信息:几何信息:形体在欧氏空间中的位置和大小拓扑信息:拓扑信息:形体各分量(点、边、面)的数目及其相互间的连接关系。1.几何信息几何信息(1)几何分量的数学表示几何分量的数学表示本讲稿第八页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新9(2)几何分量之间的相互关系几何分量之间的相互关系本讲稿第九页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新10几何信息的二义性2.拓朴信息拓朴信息平面立体的几何分量之间一共有九种拓扑关系本讲稿第十页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新11 面相邻性f:f面-顶点包含性 f:v面-边包含性f:e顶点面相邻性v:f顶点相邻性 v:v顶点-边相邻性v:e边-面相邻性e:f边-顶点包含性e:v边相邻性 e:e:ff feeffffvevvveeevveffevvvfeevveeee图4-3 平面立体的九种拓扑关系本讲稿第十一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新12刚刚体体运运动动:不改变图形上任意两点间的距离,也不改变图形的几何性质的运动。拓拓扑扑运运动动:允许形体作弹性运动,即在拓扑关系中,对图形可随意地伸张扭曲。但图上各个点仍为不同的点,决不允许把不同的点合并成一个点。拓扑等价、拓扑性质拓扑等价、拓扑性质本讲稿第十二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新134.1.3坐标系本讲稿第十三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新14建模(造型)坐标系:用来定义基本图素和图段,对于定义的每一个形体和图素都具有各自的子坐标原点和长度单位,这样可以方便形体和图素的定义。这里定义的形体和图素经调用可放在用户坐标系的指定位置。因此造型坐标系又称为局部坐标系。而用户坐标系称为全局坐标系。用户坐标系:又称为世界坐标系。用来定义用户整图或最高层图形结构,用户可根据相应的情况选择相应的坐标系。观察坐标系:可在用户坐标系的任何位置、任何方向定义。有两个主要用途,一是用于指定裁剪空间,确定形体的哪一部分要显示输出;二是通过定义观察(投影)平面,把三维形体的用户坐标转换为规格化的设备坐标。规格化的设备坐标系:用来定义视图区,其取值范围在0,1之间,是GKS内部使用的规范设备坐标。设备坐标系:是图形输入输出设备的坐标系。本讲稿第十四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新154.1.4 几何元素几何元素点:点:是0维几何元素,分端点、交点、切点和孤立点等。在自由曲线面的描述中常用三种类型的点:控制点、型值点、插值点控制点、型值点、插值点边边:是1维几何元素,是两个邻面(正则形体)或多个邻面(非正则形体)的交界。直线边、曲线边直线边、曲线边本讲稿第十五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新16面面:是2维几何元素,是形体上一个有限、非零的区域,由一个外环和若干个内环界定其范围。一个面可以无内环,但必须有一个且只有一个外环。面有方向性本讲稿第十六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新17环环是有序、有向边(直线段或曲线段)组成的面的封闭边界。环中的边不能相交,相邻两条边共享一个端点确定面的最大外边界的环称之为外环外环确定面中内孔或凸台边界的环称之为内环内环在面上沿一个环前进,其左侧总是面内,右侧总是面外。本讲稿第十七页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新18体体是3维几何元素,由封闭表面围成空间,也是欧氏空间中非空、有界的封闭子集,其边界是有限面的并集。本讲稿第十八页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新194.1.5 实体的定义实体的定义本讲稿第十九页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新20客观存在的三维形体具有这样一些性质客观存在的三维形体具有这样一些性质:(1)刚性:一个物体必须具有一定的形状。(2)维数的一致性:各部分均应是三维的。(3)占据有限的空间:即体积有限。(4)边界的确定性:根据物体的边界能区别出物体的内部和外部。(5)封闭性:经过一系列刚体运动仍为有效实体。三三维维空空间间中中的的物物体体是是一一个个内内部部连连通通的的三三维维点点集集,是是由由其其内内部部的的点集及紧紧包着这些点的表皮组成的点集及紧紧包着这些点的表皮组成的。本讲稿第二十页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新21利用正则集的概念来定义上述的三维有效物体利用正则集的概念来定义上述的三维有效物体:点点的的领领域域:如果P是点集S的一个元素,那么点P的以R(R0)为半径的领域指的是围绕点P的半径为R的小球(二维情况下为小圆)。内内点点为点集中的这样一些点,它们具有完全包含于该点集的充分小的领域。边界点边界点本讲稿第二十一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新22定义点集的正则运算r为:正则运算即为先对物体取内点再取闭包的运算。rA称为A的正则集正则集。本讲稿第二十二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新23图4-7 正则形体本讲稿第二十三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新24二二维维流流形形指的是对于实体表面上的任意一点,都可以找到一个围绕着它的任意小的领域,该领域与平面上的一个圆盘是拓扑等价的。本讲稿第二十四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新25实实体体:对对于于一一个个占占据据有有限限空空间间的的正正则则形形体体,如如果果其其表表面面是是二二维维流流形形,则则该该正正则则形形体体为为实体实体。本讲稿第二十五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新264.1.6 正则集合运算正则集合运算实际上就是利用有效实体的封封闭闭性性,即即一一个个有有效效实实体体经经过过一系列集合运算后仍为一个有效实体。一系列集合运算后仍为一个有效实体。把能够产生正则形体的集合运算称为正正则则集集合合运运算算。其其相相应应的的正则算子用正则算子用*、*、*表示。表示。本讲稿第二十六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新27本讲稿第二十七页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新28有两种方法实现正则运算间接方式:间接方式:主要基于点集拓扑的领域概念,即集合S在点P附近的局部几何性质:当且仅当P的领域为满时,P在S之内;当且仅当P的领域为空时,P在S之外;当且仅当P的领域既不满也不空时,P在S的边界上。利用这一性质就可对普通集合运算得到的结果进行检查。如图如图本讲稿第二十八页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新29本讲稿第二十九页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新30直接方式:建立在集合成员分类的基础上。直接方式:建立在集合成员分类的基础上。在三维空间中,给定一个正则形体S,空间点集被分为三个子集:S的内部点集S的边界点集S之外的点集为了产生正则形体,需要决定一个特定的点集属于哪一个子集,也就是集合成员分类集合成员分类问题。本讲稿第三十页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新31分类函数分类函数:若给定一个正则形体S及一个有界面G,则G被S分割为位于S内、位于S外、位于S边界上的面三部分,则G相对于S的分类函数可为:C(S,G)=GinS,GoutS,GonS其中,本讲稿第三十一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新32用-G表示有界面G的反向面。即,如果有界面G在P点的法向为NP(G),则有界面-G在P点的法向就是-NP(G)。于是:GonS=Gshared(bS),Gshared(-bS)其中,本讲稿第三十二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新33则G相对于S的分类函数C(S,G)可为:C(S,G)=GinS,GoutS,Gshared(bS),Gshared(-bS)由于一个正则形体可由它的边界来表示,因此只需定义三个正则集合算子关于边界面的表达式:B)(b-sharedAbA),inB(b-B,outAbB)-(AbBb sharedAbA,inBb B,inAbB)(AbBb sharedAbA,outBb B,outAbB)(Ab*.=.=.=.本讲稿第三十三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新34B)(b-sharedAbA),inB(b-B,outAbB)-(AbBb sharedAbA,inBb B,inAbB)(AbBb sharedAbA,outBb B,outAbB)(Ab*.=.=.=.本讲稿第三十四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新354.1.7 平面多面体与欧拉公式平面多面体与欧拉公式平面多面体平面多面体是表面由平面多边形构成的三维物体。简简单单多多面面体体指与球拓扑等价的那些多面体。即经过连续的几何形变可以变换成一个球的多面体。欧拉公式证明简单多面体的顶点数V、边数E和面数F满足如下关系:V-E+F=2。本讲稿第三十五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新36本讲稿第三十六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新37对于非简单多面体:令H表示多面体表面上孔的个数,G表示贯穿多面体的孔的个数,C表示独立的、不相连接的多面体数,则扩扩展展后后的的欧拉公式欧拉公式为:V-E+F-H=2(C-G)本讲稿第三十七页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新38线框模型线框模型线框模型存在着几个缺陷:二义性4.2 三维形体的表示三维形体的表示(造型造型)本讲稿第三十八页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新39容易构造出无效形体本讲稿第三十九页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新40不能正确表示曲面信息。本讲稿第四十页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新41无法进行图形的线面消隐。加重用户的输入负担难以保证数据的统一性和有效性。所以目前广泛应用的是三维形体的实体造型技术实体造型技术本讲稿第四十一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新42实体模型实体模型(实体造型技术)可以将实体模型的表示大致分为三类:边界表示(Boundaryrepresentation,B-reps)扫描表示法构造实体几何表示空间分割(Space-partitioning)表示本讲稿第四十二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新434.2.1 边界表示法边界表示法对于一个实体来说,只要定义了形体地边界,那么该实体对于一个实体来说,只要定义了形体地边界,那么该实体就被惟一定义了。就被惟一定义了。本讲稿第四十三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新44边界表示法的一个重要特点就是其按照体面边点的层次,详细记录了构成形体的所有几何元素的几何信息及其相互连接的拓扑关系。拓扑信息描述形体上的顶点、边、面的连接关系,拓扑信息形成物体边界表示的“骨架”。形体的几何信息犹如附着在“骨架”上的肌肉。本讲稿第四十四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新452.边边界界表表示示法法中中最最典典型型的的数数据据结结构构:翼翼边边结结构表示构表示(WingedEdgesStructure):以边为核心来组织数据结构,它用指针记录了每一边的两个邻面(即左外环和右外环)、两个顶点、两侧各自相邻的两个邻边(即左上边、左下边、右上边和右下边),用这一数据结构表示实体模型是完备的。本讲稿第四十五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新464.2.2 扫描表示(扫描表示(sweep representation)扫扫描描表表示示法法(sweep representation)可以利用简单的运动规则生成有效实体。包含两个要素:一是作扫描运动的基本图形;基面。二是扫描运动的方式。本讲稿第四十六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新47扫描运动的方式有:平移扫描法旋转扫描法广义扫描法本讲稿第四十七页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新484.2.3 构造实体几何法构造实体几何法构造实体几何法(构造实体几何法(CSG,Constructive Solid Geometry)由两个实体间的并、交或差操作生成新的实体。本讲稿第四十八页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新49在构造实体几何法中,集合运算的实现过程可以用一棵二二叉树(称为叉树(称为CSG树)树)来描述:树的叶子树的叶子树的非终端结点树的非终端结点二叉树根结点二叉树根结点本讲稿第四十九页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新50构造实体几何法的优点:数据结构较简单,数据量比较小。每个CSG表示都和一个实际的有效实体相对应,可以构造出多种不同的符合需要的实体。比较容易修改CSG表示形体的形状缺点:基于集合运算对形体的局部操作不易实现由于形体的几何元素是隐含在CSG中,故显示与绘制CSG表示的形体需要较长的时间。本讲稿第五十页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新514.2.4 空间位置枚举表示空间位置枚举表示空空间间位位置置枚枚举举表表示示法法将包含实体的空间分割为大小相同、形状规则(正方形或立方体)的体素,然后,以体素的集合来表示图形对象。二维情况,常用二维数组存放。三维情况下,常用三维数组pijk来存放。本讲稿第五十一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新524.2.5 八叉树八叉树八叉树(八叉树(octrees)又称为分层树结构,它对空间进行自适应划分,采用具有层次结构的八叉树来表示实体。三维实体的八叉树表示类似于二维平面图形的四叉树表示。本讲稿第五十二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新53四叉树四叉树本讲稿第五十三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新54八叉树八叉树本讲稿第五十四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新55本讲稿第五十五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新564.2.6 BSP树树二二叉叉空空间间分分割割(binary space partitioning,BSP)方方法法每次将一实体用任一位置和任一方向的平面分为二部分。本讲稿第五十六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新574.3 非规则对象的表示非规则对象的表示基于分数维理论的随机模型基于文法的模型粒子系统模型本讲稿第五十七页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新584.3.1 分形几何分形几何(fractalgeometry)法法分形几何表示的物体具有一个基本特征:无限的自相似性。无限的自相似性无限的自相似性是指物体的整体和局部之间细节的无限重现。分形物体的描述又包含:分形维数,又称分数维数D=生成过程:初始生成元(初始生成元(initiator)、生成元()、生成元(genenator)Log NLog NLog(1/S)Log(1/S)其中其中N N为每一步细分的数目,为每一步细分的数目,S S为细为细分时的放大倍数分时的放大倍数本讲稿第五十八页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新594.3.2 形状语法形状语法形形状状语语法法(shape grammars):给定一组产生式规则,形状设计者可以在从给定初始物体到最终物体结构的每一次变换中应用不同的规则。该方法主要是用于为模拟植物而引入的。本讲稿第五十九页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新604.3.3 微粒系统微粒系统用于模拟自然景物或模拟其它非规则形状物体展示“流体”性质的一个方法是微微粒粒系系统统(particle systems)。这一方法尤其擅长描述随时间变化的物体。本讲稿第六十页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新614.3.4 基于物理的建模基于物理的建模基于物理的建模方法:基于物理的建模方法:描述了物体在内外力相互作用下的行为。通常用一组网格结点来逼近物体。网格结点间取为柔性连接(模型是弹簧),再考虑贯穿物体网格的力传递。基于力学方程的动画描述比基于运动学方程的描述产生的运动更真实。实例本讲稿第六十一页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新624.4 图形的层次结构图形的层次结构4.4.1 段的层次概念段的层次概念图4-34 由直线、矩形等图素和门、窗等图段组成的楼房本讲稿第六十二页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新63利用层次结构的优点:一是存储简单。二是编辑简单。本讲稿第六十三页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新644.4.2 层次结构的实现层次结构的实现系统的层次式模型可通过将一个图段嵌套到另一个图段中形成树形图段来创建。在层次结构中,需要将在建模坐标系中定义的基本图素和段放在用户坐标系中来建立引用。本讲稿第六十四页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新65习题习题1名词解释:造型技术、规则对象、不规则对象、图素、体素、段、刚体运动、拓扑运动、拓扑等价、坐标系、点、二维流形、非二维流形、构造实体几何法、空间位置枚举法、八叉树、BSP树、无限自相似性本讲稿第六十五页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新662利用正则集的概念简述实体的定义。3用间接方式如何实现正则集合运算,用直接方式呢?4简单多面体的欧拉公式满足何条件?复杂多面体的呢?5简述三维形体的扫描表示方法。6简述如何利用CSG树来表示三维形体。本讲稿第六十六页,共六十七页2023/1/27河北农业大学河北农业大学 张玉新张玉新677举例说明如何用八叉树表示三维形体。8描述不规则物体都有那些方法?特点?9图形系统中为什么要建立图形对象的层次结构。本讲稿第六十七页,共六十七页