三维实体造型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空间位置枚举表示
选择一个立方体空间,将其均匀划分 用三维数组C[I][J][K]表示物体,数组中的元素与
单位小立方体一一对应
29
空间位置枚举法的优缺点(2/8)
优点
可以表示任何物体 容易实现物体间的集合运算 容易计算物体的整体性质,如体积等
缺点
是物体的非精确表示 占用大量的存储空间,如1024*1024*1024 = 1G bits 没有边界信息,不适于图形显示 对物体进行几何变换困难,如非90度的旋转变换
用来描述实体,主要用于CAD/CAM 包含了描述一个实体所需的较多信息,如几何信息、拓
扑信息 表示完整而无歧义
12
三维实体的表示(7/7)
过程模型
以一个过程和相应的控制参数描述 以一个数据文件和一段代码的形式存在 包括----随机插值模型、迭代函数系统、 L系统、粒
子系统、复变函数迭代等
表面模型 ----物体的皮肤
将形体表示成一组表面的集合,形体与其表面一一对应,避 免了二义性
能够满足真实感显示等需求 只有面的信息,形体信息不完整 无法计算和分析物体的整体性质(如体积、重心等) ,限制
了在工程分析方面的应用
11
三维实体的表示(6/7)
实体模型 ----”有血有肉”的物体模型
5
1
2
3
5
正则
2
3
1
4
形体
1
4
2
(a)v=8,e=12,f=6 增加一条边:v=8,e=13,f=7
(b) v=9,e=14,f=7 形体的欧拉运算
(c) v=9,e=16,f=9
25
数据模型——边界表示(10/12)
广义欧拉公式
v-e+f-r=2(s-h)
r: 多面体表面上内孔数(环数) s: 相互分离的多面体数 h: 贯穿多面体的孔洞数
前CAD系统中性能最稳定的通用几何开发平台之一。
1996年夏,Autodesk公司主管MDT软件开发的执行
副总裁Dominic Gallello在北京谈到Parasolid时情不
自禁地流露出自豪感,认为这是美国开发CAD软件的
一项重大成果。至于Medusa实体造型系统,于1983
年被美国CV公司并购,并进入中国市场销售,国内
3
几何造型系统的发展(2/2)
国际标准化组织
将NURBS作为定义工业产品形状的唯一数学方 法。
最有代表性的两个几何造型系统
Parasolid:1985年,Shape Data公司 ACIS: 1990年,美国Spatial Technology公司
目前,许多流行的商用CAD/CAM软件,如 Unigraphics、Solidedge、Solidwork、 MDT等,都在Parasolid或ACIS基础上开发。
有一批用户,所以大家很熟悉这一软件。这是一个多
面体造型系统。
5
1986年美国创建了Spatial Technology公司,从事基 于NURBS的新一代CAD通用支撑平台开发。其中的 实体造型功能从国际上流行的16种商品系统中优选, 最后还是决定与 布雷德等人合作。NURBS曲面功能 则以波音公司于1980~1985年开发的CAD系统TIGER 为基础。1989年12月推出了ACIS1.0版。ACIS就是 布雷德的同窗Alan Grayer,导师Charles Lang,以及 Ian Braid本人加上Solid的字首。ACIS自称是世界上 最好的CAD三维几何造型平台,专供CAD厂商进行增 值产品开发和大学、研究所进行CAD技术研究。 1993年6月Autodesk与Spatial公司签约,采用ACIS 作为三维机械设计系统MDT的开发平台,从此成为 ACIS的最大用户。
18
数据模型——边界表示(4/12)
表示形体的基本几何元素 :
面(Face) :面由一个外环和n(n≥0)个内环来表示。 内环完全在外环之内。每个环既不能自相交,也不能 与其它环相交。根据环的定义,在面上沿环的方向前 进,左侧总在面内,右侧总在面外。面有方向性,一 般用其外法矢方向作为该面的正向。面的形状由它的 几何信息来表示,可以是平面或曲面。同样地,在正 则形体定义中,也不允许孤立的面存在。
F(Full),算法结束;
如果它内部没有物体,将该节点标记为 E(Empty),算法结束;
如果它被物体部分占据,将该节点标记为
P(Partial),并将它分割成8个子立方体,对每一
个子立方体进行同样的处理
32
八叉树表示法的优缺点(5/8)
优点
可以表示任何物体,数据结构简单 容易实现物体间的集合运算 容易计算物体的整体性质,如体积等 较空间位置枚举表示占用的存贮空间少
9
三维实体的表示(4/7)
线框模型 ----物体的骨架
形体表示成一组轮廓线的集合,只需建立三维线段表 数据结构简单、处理速度快 所构成的图形含义不确切,与形体之间不存在一一对应关系,
有二义性 不便进行光照或消隐处理,不适合真实感显示和数控加工
用线框模型表示的有二义性的物体
10
三维实体的表示(5/7)
体(Body)是用面的并集来表示的。用于定义体的面 形成一个封闭的边界。在正则几何造型系统中,要求 体必须是正则的。
19
20
数据模型——边界表示(5/12)
正则形体与非正则形体:
要保证几何造型的可靠性和可加工性,形体上任意一点的 足够小的邻域在拓扑上必须是一个等价的封闭圆,即该点 的邻域在二维空间中是一个单连通域
6
三维实体的表示(1/7)
模型分类
7
三维实体的表示(2/7)
数据模型 完全以数据描述以数据文件的形式存在 以数据文件的形式存在
数据模型 主要包括:线框模型、表面模型和实体模型: 表示方法包括:边界表示、分解表示、构造表
示等
8
三维实体的表示(3/7)
线框模型 ----物体的骨架 表面模型 ----物体的皮肤 实体模型 ----”有血有肉”的物体模型
点至少和三个面(或三条边)邻接,不允许存在孤立点 边只有两个邻面,不允许存在悬边 面是形体表面的一部分,不允许存在悬面
P
有悬面
有悬边
一条边有两个 以上的邻面
点P的邻域非 单连通
21
数据模型——边界表示(6/12)
几何元素
正则形体
面
是形体表面的一部分
边
ቤተ መጻሕፍቲ ባይዱ
只有两个邻面
点
至少和三个面(或三条边)邻
接
欧拉公式 v-e+f=2
v=8,e=13,f=7
23
数据模型——边界表示(8/12)
欧拉物体
满足欧拉公式的物体
欧拉运算
增加或者删除面、边和顶点以生成新的欧拉物 体的过程
24
数据模型——边界表示(9/12)
欧拉运算时,必须要保证欧拉公式和下述条件成 立,才能够保证形体的拓扑有效性。
面单连通,没有孔,且被单条边环围住; 实体的补集是单连通,没有洞穿过它; 边完全与两个面邻接,且每端以一个顶点结束; 顶点至少是三条边的汇合点。
Topology
描述形体的几何元素之间的连接关系的信息。 犹如附着在“骨架”上的肌肉
17
数据模型——边界表示(4/12)
表示形体的基本几何元素 :
顶点(Vertex):点通过它在空间中的位置来表示。 边(Edge):边是一个面的边界或者几个面(包括平面和
曲面)的交。对正则形体而言,一条边只能是两个面的交 集;但对于非正则形体而言它既可以是多个面的交集,也 可以是一张孤立的平面或曲面的边界。边可以是直线或曲 线,它的形状由边的几何信息来表示。边有方向,它由起 点和终点来界定 环(Loop):是由一系列首尾相连的有向边组成的封闭边 界。环中的边不能相交,并且相邻的两条边共享一个端点。 环有方向、内外之分。外环边通常按逆时针方向排序,内 环边通常按顺时针方向排序,这样,使得环的“内部”始 终位于环的左侧。
30
数据模型——分解表示(3/8)
八叉树(octrees)表示
自适应分割
31
数据模型——分解表示(4/8)
y
P
7 77
0 1 23
4
567
EEEEEFEP
5 45
x
5 5
0 12 3
4
5 67
EEEEFFEF
八叉树建立过程
z (a)
八叉树的根节点对应整个物体空间
(b)
如果它完全被物体占据,将该节点标记为
实体造型(Solid Modeling)
几何造型技术
第一代:手工绘制工程图 第二代:二维计算机绘图 第三代:三维线架系统 第四代:曲面造型 第五代:实体造型
2
几何造型系统的发展(1/2)
早期系统的特点:
用多面体表示形体,不支持精确的曲面表示
1978年,英国Shape Data公司,ROMULUS系统, 首次引入精确的二次曲面方法用于精确表示几何形 体 1980年,Evans & Sutherland开始将ROMULUS投 放市场 80年代末,NURBS曲线曲面设计方法,不仅能对 已有的曲线曲面(如Bezier方法、B样条方法等)进 行统一表示,还能精确表示二次曲线曲面。
缺点
是物体的非精确表示 没有边界信息,不适于图形显示 对物体进行几何变换困难
33
数据模型——分解表示(6/8)
单元分解(cell decomposition)表示
多种体素
(a) 棱锥体素
(b) 长方体体素
(c) 图(a)和(b)两种体素的并集
34
数据模型——分解表示(7/8)
三种空间分割方法的比较 空间位置枚举表示----同样大小立方体 八叉树表示----不同大小的立方体 单元分解表示----多种体素
v5
v1
v4 e1 f1
e3 v2
e2
v3
四棱锥
面节点 边节点
f1 f2 f3 …... e1 e2 e3 e4 …...
拓扑 信息
顶点节点 v1
v2 v3 ……
几何
(x1,y1,z1) (…) (…)
信息
16
数据模型——边界表示(3/12)
描述形体的信息:
Geometry
描述形体的几何元素(顶点、边、面)的信息, 形成物体边界表示的“骨架”
13
数据模型
14
数据模型——边界表示(1/12)
Boundary Representation, 也称BR表示或BRep表示
最成熟、无二义性
物体的边界与物体一一对应
实体的边界是表面的并集 表面的边界是边的并集
15
数据模型——边界表示(2/12)
边界表示法是通过描述物体的边界来表示一个实体。 实体的边界面可以是平面多边形或曲面,通常情况下,曲 面最终都是被近似地离散成多边形来处理的。
非正则形体
可以是形体表面的一 部分,也可以是形体 内的一部分,也可以 与形体相分离。
可以有多个邻面、一 个邻面或没有邻面。
可以与多个面(或边) 邻接,也可以是聚集 体、聚集面、聚集边 或孤立点。
22
数据模型——边界表示(7/12)
欧拉特征
设表面s由一个平面模型给出,且v,e,f分别表示其顶点、 边和小面的个数,那么v-e+f是一个常数,它与s划分形 成平面模型的方式无关。该常数称为Euler特征。
v=24,e=36,f=15 r=3,s=1,h=1
26
数据模型——边界表示(11/12)
在边界表示的数据结构中,比 较著名的有:
半边数据结构
辐射边数据结构
翼边数据结构
1972年由美国斯坦福大学 B.G.Baumgart等人提出
是以边为核心来组织数据的一种 数据结构
左上边
P2 右上边
左外环 右外环
4
1981年后Evans & Sutherland公司收购了
Shape Data,并在布雷德等的支持下,从1986年起
着手开发美国版权的第二代实体造型Parasolid系统,
其中增强了二次曲面造型和交互查询几何数据、局部
修改形状等功能。1988年前后,UG买下了Parasolid,
并用它取代PADL2。由于UG的曲面造型系统一开始
35
单元分解表示法的优缺点(8/8)
优点
表示简单 容易实现几何变换 基本体素可以按需选择,表示范围较广 可以精确表示物体
e
左下边
右下边 P1
翼边数据结构
27
数据模型——边界表示(12/12)
优点
精确表示物体 表示覆盖域大,表示能力强 容易确定几何元素间的连接关系,几何变换容易 显式表示点、边、面等几何元素,绘制速度快
缺点
数据结构及其维护数据结构的程序复杂 需大量的存储空间 有效性难以保证
28
数据模型——分解表示(1/8)
采用插值于四条边界的孔斯曲面,开发了很强的二次
曲面功能,所以与Parasolid的几何算法有很好的兼容
性,移植很快完成。但是1989年9月航空部CAD小组
去洛杉矶附近的Cypress访问麦道公司的UG系统集成
组时,演示Parasolid的曲面求交功能过程中仍很快出
现死机。经过持久的应用磨合后,Parasolid已成为当
选择一个立方体空间,将其均匀划分 用三维数组C[I][J][K]表示物体,数组中的元素与
单位小立方体一一对应
29
空间位置枚举法的优缺点(2/8)
优点
可以表示任何物体 容易实现物体间的集合运算 容易计算物体的整体性质,如体积等
缺点
是物体的非精确表示 占用大量的存储空间,如1024*1024*1024 = 1G bits 没有边界信息,不适于图形显示 对物体进行几何变换困难,如非90度的旋转变换
用来描述实体,主要用于CAD/CAM 包含了描述一个实体所需的较多信息,如几何信息、拓
扑信息 表示完整而无歧义
12
三维实体的表示(7/7)
过程模型
以一个过程和相应的控制参数描述 以一个数据文件和一段代码的形式存在 包括----随机插值模型、迭代函数系统、 L系统、粒
子系统、复变函数迭代等
表面模型 ----物体的皮肤
将形体表示成一组表面的集合,形体与其表面一一对应,避 免了二义性
能够满足真实感显示等需求 只有面的信息,形体信息不完整 无法计算和分析物体的整体性质(如体积、重心等) ,限制
了在工程分析方面的应用
11
三维实体的表示(6/7)
实体模型 ----”有血有肉”的物体模型
5
1
2
3
5
正则
2
3
1
4
形体
1
4
2
(a)v=8,e=12,f=6 增加一条边:v=8,e=13,f=7
(b) v=9,e=14,f=7 形体的欧拉运算
(c) v=9,e=16,f=9
25
数据模型——边界表示(10/12)
广义欧拉公式
v-e+f-r=2(s-h)
r: 多面体表面上内孔数(环数) s: 相互分离的多面体数 h: 贯穿多面体的孔洞数
前CAD系统中性能最稳定的通用几何开发平台之一。
1996年夏,Autodesk公司主管MDT软件开发的执行
副总裁Dominic Gallello在北京谈到Parasolid时情不
自禁地流露出自豪感,认为这是美国开发CAD软件的
一项重大成果。至于Medusa实体造型系统,于1983
年被美国CV公司并购,并进入中国市场销售,国内
3
几何造型系统的发展(2/2)
国际标准化组织
将NURBS作为定义工业产品形状的唯一数学方 法。
最有代表性的两个几何造型系统
Parasolid:1985年,Shape Data公司 ACIS: 1990年,美国Spatial Technology公司
目前,许多流行的商用CAD/CAM软件,如 Unigraphics、Solidedge、Solidwork、 MDT等,都在Parasolid或ACIS基础上开发。
有一批用户,所以大家很熟悉这一软件。这是一个多
面体造型系统。
5
1986年美国创建了Spatial Technology公司,从事基 于NURBS的新一代CAD通用支撑平台开发。其中的 实体造型功能从国际上流行的16种商品系统中优选, 最后还是决定与 布雷德等人合作。NURBS曲面功能 则以波音公司于1980~1985年开发的CAD系统TIGER 为基础。1989年12月推出了ACIS1.0版。ACIS就是 布雷德的同窗Alan Grayer,导师Charles Lang,以及 Ian Braid本人加上Solid的字首。ACIS自称是世界上 最好的CAD三维几何造型平台,专供CAD厂商进行增 值产品开发和大学、研究所进行CAD技术研究。 1993年6月Autodesk与Spatial公司签约,采用ACIS 作为三维机械设计系统MDT的开发平台,从此成为 ACIS的最大用户。
18
数据模型——边界表示(4/12)
表示形体的基本几何元素 :
面(Face) :面由一个外环和n(n≥0)个内环来表示。 内环完全在外环之内。每个环既不能自相交,也不能 与其它环相交。根据环的定义,在面上沿环的方向前 进,左侧总在面内,右侧总在面外。面有方向性,一 般用其外法矢方向作为该面的正向。面的形状由它的 几何信息来表示,可以是平面或曲面。同样地,在正 则形体定义中,也不允许孤立的面存在。
F(Full),算法结束;
如果它内部没有物体,将该节点标记为 E(Empty),算法结束;
如果它被物体部分占据,将该节点标记为
P(Partial),并将它分割成8个子立方体,对每一
个子立方体进行同样的处理
32
八叉树表示法的优缺点(5/8)
优点
可以表示任何物体,数据结构简单 容易实现物体间的集合运算 容易计算物体的整体性质,如体积等 较空间位置枚举表示占用的存贮空间少
9
三维实体的表示(4/7)
线框模型 ----物体的骨架
形体表示成一组轮廓线的集合,只需建立三维线段表 数据结构简单、处理速度快 所构成的图形含义不确切,与形体之间不存在一一对应关系,
有二义性 不便进行光照或消隐处理,不适合真实感显示和数控加工
用线框模型表示的有二义性的物体
10
三维实体的表示(5/7)
体(Body)是用面的并集来表示的。用于定义体的面 形成一个封闭的边界。在正则几何造型系统中,要求 体必须是正则的。
19
20
数据模型——边界表示(5/12)
正则形体与非正则形体:
要保证几何造型的可靠性和可加工性,形体上任意一点的 足够小的邻域在拓扑上必须是一个等价的封闭圆,即该点 的邻域在二维空间中是一个单连通域
6
三维实体的表示(1/7)
模型分类
7
三维实体的表示(2/7)
数据模型 完全以数据描述以数据文件的形式存在 以数据文件的形式存在
数据模型 主要包括:线框模型、表面模型和实体模型: 表示方法包括:边界表示、分解表示、构造表
示等
8
三维实体的表示(3/7)
线框模型 ----物体的骨架 表面模型 ----物体的皮肤 实体模型 ----”有血有肉”的物体模型
点至少和三个面(或三条边)邻接,不允许存在孤立点 边只有两个邻面,不允许存在悬边 面是形体表面的一部分,不允许存在悬面
P
有悬面
有悬边
一条边有两个 以上的邻面
点P的邻域非 单连通
21
数据模型——边界表示(6/12)
几何元素
正则形体
面
是形体表面的一部分
边
ቤተ መጻሕፍቲ ባይዱ
只有两个邻面
点
至少和三个面(或三条边)邻
接
欧拉公式 v-e+f=2
v=8,e=13,f=7
23
数据模型——边界表示(8/12)
欧拉物体
满足欧拉公式的物体
欧拉运算
增加或者删除面、边和顶点以生成新的欧拉物 体的过程
24
数据模型——边界表示(9/12)
欧拉运算时,必须要保证欧拉公式和下述条件成 立,才能够保证形体的拓扑有效性。
面单连通,没有孔,且被单条边环围住; 实体的补集是单连通,没有洞穿过它; 边完全与两个面邻接,且每端以一个顶点结束; 顶点至少是三条边的汇合点。
Topology
描述形体的几何元素之间的连接关系的信息。 犹如附着在“骨架”上的肌肉
17
数据模型——边界表示(4/12)
表示形体的基本几何元素 :
顶点(Vertex):点通过它在空间中的位置来表示。 边(Edge):边是一个面的边界或者几个面(包括平面和
曲面)的交。对正则形体而言,一条边只能是两个面的交 集;但对于非正则形体而言它既可以是多个面的交集,也 可以是一张孤立的平面或曲面的边界。边可以是直线或曲 线,它的形状由边的几何信息来表示。边有方向,它由起 点和终点来界定 环(Loop):是由一系列首尾相连的有向边组成的封闭边 界。环中的边不能相交,并且相邻的两条边共享一个端点。 环有方向、内外之分。外环边通常按逆时针方向排序,内 环边通常按顺时针方向排序,这样,使得环的“内部”始 终位于环的左侧。
30
数据模型——分解表示(3/8)
八叉树(octrees)表示
自适应分割
31
数据模型——分解表示(4/8)
y
P
7 77
0 1 23
4
567
EEEEEFEP
5 45
x
5 5
0 12 3
4
5 67
EEEEFFEF
八叉树建立过程
z (a)
八叉树的根节点对应整个物体空间
(b)
如果它完全被物体占据,将该节点标记为
实体造型(Solid Modeling)
几何造型技术
第一代:手工绘制工程图 第二代:二维计算机绘图 第三代:三维线架系统 第四代:曲面造型 第五代:实体造型
2
几何造型系统的发展(1/2)
早期系统的特点:
用多面体表示形体,不支持精确的曲面表示
1978年,英国Shape Data公司,ROMULUS系统, 首次引入精确的二次曲面方法用于精确表示几何形 体 1980年,Evans & Sutherland开始将ROMULUS投 放市场 80年代末,NURBS曲线曲面设计方法,不仅能对 已有的曲线曲面(如Bezier方法、B样条方法等)进 行统一表示,还能精确表示二次曲线曲面。
缺点
是物体的非精确表示 没有边界信息,不适于图形显示 对物体进行几何变换困难
33
数据模型——分解表示(6/8)
单元分解(cell decomposition)表示
多种体素
(a) 棱锥体素
(b) 长方体体素
(c) 图(a)和(b)两种体素的并集
34
数据模型——分解表示(7/8)
三种空间分割方法的比较 空间位置枚举表示----同样大小立方体 八叉树表示----不同大小的立方体 单元分解表示----多种体素
v5
v1
v4 e1 f1
e3 v2
e2
v3
四棱锥
面节点 边节点
f1 f2 f3 …... e1 e2 e3 e4 …...
拓扑 信息
顶点节点 v1
v2 v3 ……
几何
(x1,y1,z1) (…) (…)
信息
16
数据模型——边界表示(3/12)
描述形体的信息:
Geometry
描述形体的几何元素(顶点、边、面)的信息, 形成物体边界表示的“骨架”
13
数据模型
14
数据模型——边界表示(1/12)
Boundary Representation, 也称BR表示或BRep表示
最成熟、无二义性
物体的边界与物体一一对应
实体的边界是表面的并集 表面的边界是边的并集
15
数据模型——边界表示(2/12)
边界表示法是通过描述物体的边界来表示一个实体。 实体的边界面可以是平面多边形或曲面,通常情况下,曲 面最终都是被近似地离散成多边形来处理的。
非正则形体
可以是形体表面的一 部分,也可以是形体 内的一部分,也可以 与形体相分离。
可以有多个邻面、一 个邻面或没有邻面。
可以与多个面(或边) 邻接,也可以是聚集 体、聚集面、聚集边 或孤立点。
22
数据模型——边界表示(7/12)
欧拉特征
设表面s由一个平面模型给出,且v,e,f分别表示其顶点、 边和小面的个数,那么v-e+f是一个常数,它与s划分形 成平面模型的方式无关。该常数称为Euler特征。
v=24,e=36,f=15 r=3,s=1,h=1
26
数据模型——边界表示(11/12)
在边界表示的数据结构中,比 较著名的有:
半边数据结构
辐射边数据结构
翼边数据结构
1972年由美国斯坦福大学 B.G.Baumgart等人提出
是以边为核心来组织数据的一种 数据结构
左上边
P2 右上边
左外环 右外环
4
1981年后Evans & Sutherland公司收购了
Shape Data,并在布雷德等的支持下,从1986年起
着手开发美国版权的第二代实体造型Parasolid系统,
其中增强了二次曲面造型和交互查询几何数据、局部
修改形状等功能。1988年前后,UG买下了Parasolid,
并用它取代PADL2。由于UG的曲面造型系统一开始
35
单元分解表示法的优缺点(8/8)
优点
表示简单 容易实现几何变换 基本体素可以按需选择,表示范围较广 可以精确表示物体
e
左下边
右下边 P1
翼边数据结构
27
数据模型——边界表示(12/12)
优点
精确表示物体 表示覆盖域大,表示能力强 容易确定几何元素间的连接关系,几何变换容易 显式表示点、边、面等几何元素,绘制速度快
缺点
数据结构及其维护数据结构的程序复杂 需大量的存储空间 有效性难以保证
28
数据模型——分解表示(1/8)
采用插值于四条边界的孔斯曲面,开发了很强的二次
曲面功能,所以与Parasolid的几何算法有很好的兼容
性,移植很快完成。但是1989年9月航空部CAD小组
去洛杉矶附近的Cypress访问麦道公司的UG系统集成
组时,演示Parasolid的曲面求交功能过程中仍很快出
现死机。经过持久的应用磨合后,Parasolid已成为当