第四章 三维形体的表示和输出.docx
- 文档编号:9182982
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:43
- 大小:868.50KB
第四章 三维形体的表示和输出.docx
《第四章 三维形体的表示和输出.docx》由会员分享,可在线阅读,更多相关《第四章 三维形体的表示和输出.docx(43页珍藏版)》请在冰豆网上搜索。
第四章三维形体的表示和输出
第四章三维形体的表示和输出
一、复习要求
1.曲面的参数表示
2.三维物体的几何表示方法
3.投影变换
4.观察空间的定义和转换
5.三维裁剪
二、内容提要
1曲面的参数表示
参数表示是3D曲面造型系统中的主要造型技术之一,精练和易于变形是参数曲面表示的两个重要优点。
(1)Coons曲面
1964年,美国麻省理工学院S.A.Coons提出了一种曲面分片、拼合造型的思想,Bezier曲面和B样条曲面的特点是曲面逼近控制网格,Coons曲面的特点是插值,即通过满足给定的边界条件的方法构造Coons曲面。
因为Coons曲面在当时产生的重要影响,Coons和Bezier一样被认为是计算机辅助几何设计(计算几何)的先驱。
计算机图形学的最高奖即以Coons的名字命名。
在ACMSIGGRAPH上每两年颁发一次。
1.基本概念
假定参数曲面片方程为,P(u,v),u,v
[0,1]参数曲线P(u,0),P(u,1),P(0,v),P(1,v)称为曲面片的四条边界,P(0,0),P(0,1),P(1,0),P(1,1)称为曲面片的四个角点。
P(u,v)的u向和v向求偏导矢有:
分别称为u线上和v线上的切矢。
边界线P(u,0)上的切矢为:
,同理,Pu(u,1),Pv(0,v),Pv(1,v)也是边界线上的切矢。
曲面示意图
图4-1
边界曲线P(u,0)上的法向(指参数v向)偏导矢:
称为边界曲线的跨界切矢,同理,Pv(u,1),Pu(0,v),Pu(1,v)也是边界曲线的跨界切矢。
,
称为角点P(0,0)的u向和v向切矢,在曲面片的每个角点上都有两个这样的切矢量。
称为混合偏导矢或扭矢,它反映了Pu对v的变化率或Pv对u的变化率。
同样
称为角点的扭矢,显然,曲面片的每个角点都有这样的扭矢。
2.双线性Coons曲面
如果给定四条在空间围成封闭曲边四边形的参数曲线,P(u,0),P(u,1),P(0,v),P(1,v),如图4-2,怎样构造一张参数曲面P(u,v),u,v
[0,1],使得以给定的四条参数曲线为边界?
图4-2
问题的解有无穷多个,我们来看一种最简单的情况。
首先,在u向进行线性插值,可以得到以P(0,v)和P(1,v)为边界的直纹面P1(u,v),,如4-3(a):
4-3
再在v向进行线性插值,可以得到以P(u,0)和P(u,1)为边界的直纹P2(u,v),如图4-3(b),
如果把和迭加,产生的新曲面的边界是除给定的边界外,迭加了一个连接边界两个端点的直边。
为此,我们再构造分别过端点P(0,0)、P(0,1)及P(1,0、P(1,1)的双线性曲面
容易验证
便是所要求构造的曲面,称之为双线性Coons曲面片。
可进一步改写成矩阵的形式:
(*)
右端的三阶方阵包含了曲面的全部边界信息,称之为边界信息矩阵,其右下角二阶子块的四个矢量是曲面边界的端点,称之为曲面的角点。
上面我们构造了双线性Coons曲面片,可以看出,用它来进行曲面拼合时,可以自动保证整张曲面在边界的位置连续。
3.双三次Coons曲面
双线性Coons曲面能够自动保证各曲面片边界位置连续,那么,曲面片边界的跨界切矢是否连续呢?
我们对(*)对v求偏导后,代入v=0,可得的跨界切矢:
可见,跨界切矢不仅与该边界端点的切矢有关,还与该边界曲线有关。
因此,双线性Coons曲面在曲面片的边界上,跨界切矢一般不连续,也即,不能达到曲面片的光滑拼接。
为了构造光滑拼接的Coons曲面,除了给定边界信息外,还要给定边界的跨界切矢。
也即:
构造出的Coons曲面片不仅以给定的四条参数曲线为边界,还要保持四条曲线的跨界切矢。
假定四条边界曲线为:
P(u,0),P(u,1),P(0,v),P(1,v)四条边界曲线的跨界切矢为:
我们不妨取Hermite基函数作为调和函数,以类似于双线性Coons曲面的构造方法,构造双三次Coons曲面。
在u向可得曲面:
在v向可得曲面
对角点的数据进行插值,可得曲面:
可以验证曲面
的边界及边界跨界切矢就是已经给定的四条边界曲线和四条边界曲线的跨界切矢,称之为双三次Coons曲面片。
其矩阵形式为:
观察,可以发现:
对曲面片满足边界条件的要求提高一阶,曲面方程中的边界信息矩阵就要扩大二阶,并且要多用一对调和函数;边界信息矩阵的第一行与第一列包含着全部给定边界信息;余下的子方阵则包含着角点信息。
认识了这些规律后,就能容易地构造出满足更高阶边界条件的Coons曲面方程。
(2)Bézier曲面
在数学上三次Bézier曲面片与三次B样条曲面片是等价的,但因Bézier曲面是建立在仅由16个顶点定义的特征多边形基础之上,只能表示相当简单的曲面拓扑性(见图4-4
(1))。
插值公式:
P(u,v)=
=
,u,v[0,1]
式中Bj,3(u)和Bj,3(v)均为伯恩斯坦(Bernstein)多项式。
曲面特性:
①曲面片通过外侧的四个顶点P00,P03,P30和P33。
②调整顶点位置时对曲面的影响较为直观。
③适用于几何外形的交互设计,可供没有受过高深数学训练的操作人员使用。
(3)三次B样条曲面
这类曲面片是由一个含有16个顶点的特征多边形(Pij,i=0,1,2,3和j=0,1,2,3)定义的(见图4-4
(2))。
注意:
三次B样条曲面的特征网格的顶点数目却是没有限制的,每16个顶点就构成一个曲面片。
插值公式:
p(u,v)=
Fi,3(u)F3,j(v)Pij=[u3u2u1]1/6
式中式中Fi,3(u),F3,j(v)均为基函数,T表示矩阵转置运算。
曲面特性:
①曲面片一般不通过特征网格的顶点。
②C2连续性。
③适用于复杂几何外形的设计。
(4).曲面片的连接
曲面片的连接条件:
一般要求连接处具有C1连续性。
为了满足这个条件,必须达到:
1、相连接的曲面片有公共的边界曲线;
2、在边界曲线上的任何一点,两个曲面片跨越边界的切线向量共线;
3、在边界曲线上的任何一点,两个曲面片跨越边界的切线向量长度之比为常数。
2.三维物体的几何表示方法
(1)物体的定义及性质
物体是空间中点集的闭包。
即由三维形体内部的点集及紧密包着这些点的表面构成:
G=
(4-3)
其中iG表示内部点集,bG表示边界点集。
图4-5a物体内部及表面
物体具有下列的性质:
1.物体的性质(5个)
■刚性:
运动中形状保持不变。
■有限性:
占有一定大小的空间。
■边界确定性:
能区别形体的内部与外部。
■维数一致性:
各部分均为三维的,没有悬挂或孤立的边界(悬面、悬边、悬点)。
■封闭性:
经刚体运动和集合运算后,仍为有效的物体。
2.物体表面的性质(5个)
■连通性:
任意两点均可用一条位于表面上的路径相连。
■有界性:
将整个空间分成两部分,必有一部分是有界的。
■非自相交性:
不允许自身相交。
■可定向性:
能定义表面的内侧与外侧,即有内/外法矢。
■闭合性:
指多边形网格上的环、边、顶点的闭合性。
具体如下:
●一条边只有两个顶点
●一个顶点至少要有三条边通过它
●一条边仅有两个相邻面。
这称为流形(manifold)性质
图4-5b流形或非流形的表面例
这里值得指出的是,在许多工程中使用的形体均为正则的,而且最重要的是刚性和表面闭合性,它们通常作为定义物体模型的准则。
在前述的(4-3)式中,因为表面bG所包围的空间就是内部点集iG,所以一个物体可用它的边界来定义:
G=
=bG(4-4)
注意:
当物体内含有空穴时,边界点集bG将包括外表面和一个或多个内表面。
在计算机图形学中,物体的表示要处理的主要问题是物体的几何表示和光学属性。
物体光学属性的处理除了考虑物体表面的颜色、反光度、光滑度和纹理外,还应考虑物体的透明度。
计算机图形学中常采用线框模型、表面模型和实体模型来表示三维物体。
(2)线框模型
线框模型是线段(矢量)集合,只适合于轮廓图输出。
1)三维物体线框模型由定义一个物体边界的直线和曲线组成,每一条直线和曲线都是单独构造出来的,并不存在面的信息(即不考虑边界的内部信息);
2)三维物体线框模型较为简单,而且运算速度较快。
图4-6三维线框模型
三维物体线框模型的缺点:
1)用线框模型表示三维物体常常具有(显示)二义性(见图4-6(a));
2)三维线框模型也可能构造出无效形体(见图4-6(b));
3)三维线框模型表示不出曲面的轮廓线,因而也就不能正确表示曲面信息(见图4-6(c));
4)线框模型没有表示出三维物体的全部信息,在许多场合不能满足要求,因而主要应用于图形输出阶段。
(3)特征参数法
特征造型(FeatureModeling)开创了第三代CAD/CAM,面向设计与制造全过程。
例如最著名的ParametricTechnologyCorp.(PTC)公司Pro/Engineer软件。
与传统的物体造型技术中几何表示、运算和操作不同,特征是一种更高层次的设计概念,反映了大量设计人员意图的非几何信息,如材料、公差、工艺流程等。
这对设计的分析与综合以及后继的维护、加工、装配等过程具有重要的意义。
从功能上来看,特征可被划分为如下五类:
■形状特征:
描述特定的形状及其构造方式(钻孔开槽、挤压、拉伸、过渡、形变等)。
■精度特征:
除形位公差、尺寸公差、表面光洁度等外,还包括检测特征。
■材料特征:
规定材料类型、强度、可延展性、热传导性等。
■装配特征:
包括装配体中各零件的位置关系、公差配合、功能关系、动力学关系等。
■分析特征:
用于工程分析的特征。
如有限元分析中的梁、板材等特征。
(4)边界表示法
①多面体及欧拉公式
计算机图形学基于欧几里德几何学(EuclideanGeometry)。
任何一个三维形体都是由顶点(vertex)、边(edge)、面(face)三种图形元素构成的,而所有元素均以三维表示。
著名法国数学家欧拉曾提出一个用于检验图形各个组成元素(顶点、边、面)的数目与拓扑关系的公式(必要条件):
V-E+F=2(4-1)
或者,更一般性的欧拉公式(EulerFormula)为:
V-E+F=2+R-2H(4-2)
其中,V,E和F分别为该形体的顶点数、边数和面数,而R为表面中的洞数,H为体中的穴数。
欧拉公式可用于检查形体的表面合式性。
对于拓扑信息,至少必须选定两种拓扑关系。
重要信息:
几何数据和拓扑信息两者是缺一不可的。
②边界及边界表示法的基本概念
定义4-1:
边界是物体的一部分,它将物体的内部点和外部点划分开。
B-rep(Boundaryrepresentation,边界表示法)是基于物体的边界信息,它将体表面拆成若干个“面—边—顶点”的层次表示,定义了物体的边界也就唯一的定义了物体的几何形状边界。
物体的边界上的面是有界的,而且,面的边界应是闭合的;物体的边界上的面是有向的,面的法向总是指向物体的外部。
具体地讲,一个平面体可以用构成其边界的一系列多边形(面)来表示,每个多边形又用构成其边界线的一系列边来表示,而每条边则用两个顶点来表示。
图4-7给出了一个四面体的B-rep例子。
同样地,一个曲面体可以用一系列边界曲面来表示,每个曲面又可用一组纵横排列的棱面(通常取三角形或四边形)来表示,继而每个棱面则用三或四个顶点来表示。
图4-7四面体的边界表示法
由此可见,边界表示(B-rep)是用面、环、边、点来定义物体的位置和形状。
物体边界上的面可以是曲面,但在该面的有效区域内,不允许自相交;物体边界上的边的长度可度量且是有限的。
在计算机内部,每个B-rep物体采用多重链表结构存储,其中包括:
■拓扑信息:
一条边只含两个顶点,并仅被两个面共享;至少有三条边交于一个顶点。
显然,这满足了物体刚性和表面闭合性。
■几何数据:
至少含有顶点的坐标;通常还包含面的法矢等。
物体所存储的拓扑信息、几何数据越多,查找或处理时间越短,但所需的内存量较大。
由于B-rep物体提供了元素级(面、边、顶点)的可操作性和实用性,因此在目前国内外的造型系统中最为流行。
其实现主要采用翼边数据结构、对称数据结构或其变种。
现作具体介绍如下:
③翼边数据结构
这是最早由美国Stanford(斯坦福)大学的B.G.Baumgart等人提出的。
如图4-8
(2)所示,翼边结构以每条边E为核心,分别指向这条边的两个顶点(始点VS与终点VE)、两个邻面(左面FL与右面FR)以及四条邻边(左上边EUL、左下边ELL、右上边EUR和右下边ELR),而且每个顶点反过来指向它所属的边,每个面反过来指向它隶属的边。
图4-8(3)解释了怎样用多重链表来存储这种结构。
其中,以边链表为基础的,而顶点表和面表各自通过附加的指针指向对应的边链表,两者分别含有顶点坐标值(x,y,z)和平面方程系数(A,B,C,D)。
所以,通过翼边结构,可查找出边、顶点、面之间的5种拓扑关系:
e:
{v},e:
{f},e:
{e},v:
{e},f:
{e}。
参见图4-8
(1)。
图4-8翼边结构
一种改进后的翼边结构实现如图4-9所示。
由于中间添加了一种环表,因此可更方便地从一条边出发查找该边的顶点、邻面、邻边及其几何数据。
对于曲面的曲线边,还需要插入某些控制点,作为曲线拟合之用。
图4-9改进后的翼边结构实现
④对称数据结构
图4-10
对称数据结构的拓扑关系如图4-10所示。
显然,在这种数据结构中,显式地存放了{Fi}→{Ei},{Ei}→{Fi},{Ei}→{Vi}及{Vi}→{Ei}4种拓扑关系。
这种对称数据结构的具体实现可如图6.27所示,其中VGi表示围绕点Vi的所有边。
与此类似,FGi表示围绕一个面Fi的所有边。
可以证明,这种数据结构的空间复杂性近似为6E,E为该物体所有的边数。
图4-11
从上面的数据结构可以看出。
用边界表示物体时,数据量较多,所使用的存储空间较大。
但是,有一个突出的优点,那就是物体的面、环、边、点的信息都直接表示出来了,因而,集合运算的结果可以继续参加集合运算,而且也便于显示或绘图输出。
因此,这种方法广泛地用来表示三维物体。
⑤B-rep优缺点
综上所述,B-rep物体造型的主要优缺点是:
■信息丰富,物体的面、边、顶点及其关系的表示具有实用性。
为了加快诸如求交计算、消隐处理等算法的执行速度,支持交互操作、图形显示或其他目的,这些数据都是很重要的。
■适合增删点、边、环等的局部操作(即Euler操作)。
■但从另一角度来看,B-rep所存储的数据量大,而且有冗余度。
在表示上要比下一节介绍的CSG物体模型麻烦得多。
■需有专用程序来检查数据有效性。
不适合反复的求交计算(如“并、交、差”运算)。
因此,有些以B-rep为主的造型系统中常与CSG配合使用。
例如SpatialTechnology公司ACIS系统。
(5)曲面离散近似表示
三角形或多边形剖分法
图4-12三角形剖分法
(6)实体构造表示法
定义4-2:
CSG(ConstructiveSolidGeometry)的字面意义是“构造性实体几何”,通常也被称作”体素造型”。
CSG意味着一个物体可通过体素的布尔运算来构造。
它源自于七十年代初美国Rochester大学研制的PADL-1(PartandAssemblyDescriptionLanguage,零件及装配描述语言)几何造型系统。
更一般地讲,CSG物体可看作为一棵有序的二元树,其(非变换的)叶子表示组成该物体的各个体素、刚体运动变量或形状加工变量,而节点表示两个体素或者CSG物体之间的布尔运算、刚体运动或形状加工等操作。
根部则表示最终的组合物体。
参见右图8.15。
为简化起见,这里采用平面视图表示长方体和圆柱体。
图4-13CSG树示意图
因此,任何复杂的三维形体均可容易地通过CSG操作而生成。
这种CSG树在形式上可被递归定义如下:
:
=<体素叶子>|
①常用的体素定义
定义4-3:
体素(primitives)就是一些由系统预定义的基本物体,如长方体、球体、圆锥体、圆柱体、楔体和圆环体等。
图4-14给出了一些常用的体素及其参数,体素一般是采用局部坐标系定义的。
图4-14常用体素及其定义参数
②布尔运算
定义4-4:
布尔运算(Booleanoperations,或称集合运算)包括对两个物体A与B求并(Union,A∪B)、求交(Intersect,A∩B)和求差(Difference/Subtract,A-B),而组合物体R仍然是正则的。
如图4-15所示,带阴影线的图形部分就是经布尔运算后的组合体。
布尔运算一次只对两个或两组体素进行操作。
并允许它们逐次反复地进行。
图4-15布尔运算
Ⅰ求并、求交、求差和干涉检查
通过对多个或两组物体求并、求交或求差后,将产生一个新的物体,称为组合体(combinedsolid),而原有物体将不再存在。
图4-16布尔运算及其产生的组合体
干涉检查实质上是求交运算的一个变种,其结果称为干涉体,并仍保留原来的物体。
Ⅱ求交算法
布尔运算的关键问题是求交算法:
两体之间相交计算可被逐级简化成平面—体、平面—平面、直线—平面、直线—直线以及点—平面的求交,然后按坐标大小对交点排序而形成新边或环。
现将求交算法中的点—平面、直线—直线/直线—平面、平面—平面三类相交计算公式总结如下:
1.点与平曲面求交
图4-16(a)
如果从一点P0(x0,y0,z0)到平面F(a,b,c,d)的距离D小于,该点则位于平面上。
参见图4-16(a) FIG8-R1.bmp 。
D=
其中,平面方程为ax+by+cz+d=0。
2.直线段之间或与平曲面求交
(1)两直线段求交
图4-16(b)
求解下列两条线段
和
(两点参数式)的二元一次联合方程组:
(4-5)
其中,参数t,s[0,1]。
各线段端点的坐标分别为P1(x1,y1,z1),P2(x2,y2,z2),Q1(x3,y3,z3)和Q2(x4,y4,z4)。
第三个方程就是它们的相交条件。
参见4-16(b) FIG8-R.bmp 。
(2)直线段与平面求交
求解下列线段
(两点参数式)和平面F(点法参数式)的三元一次联合方程组:
4-16(c)
(4-6)
其中,参数t,u,v[0,1]。
线段端点为P1(x1,y1,z1)和P2(x2,y2,z2),而平面F是由一点F(u0,v0)和法矢(A,B,C)确定的。
第三个方程就是它们的相交条件。
参见4-16(c)
FIG8-R3.bmp 。
(3)直线段与参数曲面求交
4-16(c)
求解下列的三元高次方程组:
S(u,v)-P(t)=0(4-7)
其中,参数t,u,v[0,1]。
线段
的两点参数式方程P(t)=P1+(P2-P1)t,而S(u,v)为任意曲面的参数式方程。
(8-2-6-3)方程式就是它们的相交条件。
参见4-16(a)
FIG8-R4.bmp 。
3.平面或曲面之间求交
(1)两个平面多边形求交
图4-17多边形求交
如图4-17所示,可按下列三个步骤进行:
步骤一、将多边形A的所有边与多边形B求交得P1点,反之得P2点。
步骤二、按坐标大小对交点排序。
步骤三、若相交线段
的中点既在A中又在B中,它则为有效的,并称为新边;否则是A和B的延伸部分相交,而舍弃之。
(2)平面与曲面或者两个参数曲面求交
求解下列的平面与曲面或者两个曲面的参数式二元高次方程:
F(u,v)-S(u,v)=0,或者S1(u,v)-S2(u,v)=0(4-8)
其中,参数u,v[0,1]。
平面F的点法参数式方程F(u,v)=A+B(u-u0)+C(v-v0),而S(u,v)为任意曲面的参数式方程。
(4-8)方程式就是它们的相交条件。
参数式曲面方程是采用矩形网格或三角形网格形式来表示曲面。
③刚体运动
定义4-5:
刚体运动将不会改变物体上任意两点间的距离。
这也就是前面已介绍过的几何变换。
它们包括MOVE(平移)、ROTATE(旋转)、SCALE(比例缩放)和MIRROR(镜像变换)。
各种刚体运动涉及的变量有:
平移量(Tx,Ty,Tz),绕任意空间轴的旋转角,缩放比例系数(Sx,Sy,Sz)或整体缩放比例s,镜面位置。
④形状加工
定义4-6:
形状加工是对创建后的物体进行某些局部操作,以符合工程设计的要求。
最常见的有FILLET(倒圆)、CHAMFER(倒角)和SLICE(剖切)。
各种形状加工的变量有:
倒圆半径,倒角距离,切面位置。
图4-18对物体倒圆/倒角的例子
图4-19剖切前后的物体例
图4-20一个物体的剖视图
⑤CSG优缺点
综上所述,虽然CSG模型的结构较简单、存储量小,物体表示精确,易于管理维护。
但它们也有下列的主要缺点:
■CSG树的层次较深,因而系统开销较大,处理速度慢。
■体素种类较少,有些简单物体也需多次执行布尔运算才能被组合成。
布尔运算与体素形状有密切的联系,各类算子并不是通用的。
运算结果的封闭性有时也不能完全保证。
■局部修改难,难于获取模型中的边信息。
不能描述诸如雕塑体之类的形状;对于两个物体相互“粘合”产生的悬面,CSG一般也处理不了。
所以,在采用CSG物体造型的过程中,还需要自行扩展某些图形算法、或者同时采用B-rep模型来解决上述的有关问题。
(7)八叉树表示法
八叉树表示法(Octal-TreeRepresentation)属于一种空间占有枚举法(spatialoccupancyenumeration),它先将物体所在的空间用一个外围立方体表示,然后逐层细成8个小立方体(称为卦限,octants),直至所有的卦限均为匀质的:
“满”(Full)或“空”(Null),参见图4-21。
因此,一个物体可被表示为它所占空间的立方体树结构,即
图4-21八元树表示
显然,八叉树表示法极大简化了布尔运算,只需对两棵八叉树的Full卦限进行求并、求交和求差,从而形成一棵新的八叉树。
目前医学CT图像显示通常使用八叉树表示法。
优缺点:
■简单、统一表示。
易于进行布尔运算、干涉检查、消隐和计算物性等。
■通常用作物体的空间管理,以加快图形显示过程。
适合硬件处理。
■但存储量极大,也不易作某些几何变换(如任意旋转或比例缩放)。
■只是物体的近似表示,要转换成精确的B-rep十分困难。
所以,在几何造型系统中八叉树表示法仅作为辅助表示之一。
从用户角度看,形体表示以特征表示和构造的实体几何表示(CSG)较为方便;从计算机对形体的存储管理和操作运算角度看
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 三维形体的表示和输出 第四 三维 形体 表示 输出