造型技术.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实体的性质
具有一定的形状 具有确定的封闭的边界 是一个内部连通的三维点集 占据有限的空间 经过任意的运算后,仍为有效实体
非有效物体
悬面
悬边
非有效物体
V
一条边有两个 以上邻面
悬边 点V的小邻 域不是单连通域
三维实体的表示(1/7)
模型分类
三维实体的表示(2/7)
数据模型
V-E+f=2(s-h)+r
形体所有面上的内环总数(r:ring) 穿透形体的孔洞数(h:hole) 实体的个数(s:solid)
在一个长方体上打了一个未穿透的方孔
V=16, e=24, f=11, s=1, h=0, r=1 16-24+11=3 2(1-0)+1=3
AC
BD
V-E+f=2(s-h)+r
在长方形上打了一个穿透的圆柱孔
•在圆柱上取A、B两点,
•v=10, e=15, f=7,S=1, h=1, r=2 10-15+7=2 2(1-1)+2=2 •如取A、B、C、D四个点 •V=12, e=18(12+6), f=8,s=1, h=1 •r=2 2(1-1)+2=2
形体所有面上的内环总数(r:ring) 穿透形体的孔洞数(h:hole) 实体的个数(s:solid)
– 完全以数据描述 – 以数据文件的形式存在
– 包括----边界表示、分解表示、构造表示等
三维实体的表示(3/7)
线框模型 ----物体的骨架 表面模型 ----物体的皮肤 实体模型 ----”有血有肉”的物体模型
三维实体的表示(4/7)
线框模型 ----物体的骨架
– 形体表示成一组轮廓线的集合,只需建立三维线段表 – 数据结构简单、处理速度快 – 所构成的图形含义不确切,与形体之间不存在一一对应关系
造型技术
造型技术定义
研究如何在计算机中建立恰当的模型表
示物体的技术称为造型技术
实体造型(Solid Modeling)
几何造型技术
– 第一代:手工绘制工程图 – 第二代:二维计算机绘图 – 第三代:三维线架系统 – 第四代:曲面造型 – 第五代:实体造型
实体造型系统的发展(1/3)
60年代初期 70年代初期
1980年,Evans & Sutherland开始将ROMULUS投 放市场
80年代末,NURBS曲线曲面设计方法,不仅能对 已有的曲线曲面(如Bezier方法、B样条方法等)进 行统一表示,还能精确表示二次曲线曲面。
实体造型系统的发展(3/3)
国际标准化组织
– 将NURBS作为定义工业产品形状的唯一数 学方法 。
正则集合运算保证集合运算的结果仍是一个正则形体 即丢弃悬边、悬面等
数据模型——构造实体几何表示(3/5)
将物体表示成一棵二叉树,称为CSG树
– 叶节点----基本体素,如立方体、圆柱体、圆环、锥体、球体等 – 中间节点----并、交、差正则集合运算
U* —*
—* U*
数据模型——构造实体几何表示(4/5)
数据模型——边界表示(2/12)
用于表示物体边界的有
– 平面多边形 – 曲面片
平面多面体
– 表面由平面多边形组成的多面体
曲面体
– 由曲面片组成的物体
数据模型——边界表示(3/12)
描述形体的信息:
– Geometry
描述形体的几何元素(顶点、边、面)之间的连接关系, 形成物体边界表示的“骨架”
形体所有面上的内环总数(r:ring) 穿透形体的孔洞数(h:hole) 实体的个数(s:solid)
扩展的欧拉公式: V-E+f=2(s-h)+r
例:
V-E+f=2(s-h)+r
V=14,
E=21,
F=9,
S=1,
H=1,
形体所有面上的内环总数(r:ring) R=2
穿透形体的孔洞数(h:hole) 实体的个数(s:solid)
,有二义性 – 不便进行光照或消隐处理,不适合真实感显示和数控加工
用线框模型表示的有二义性的物体
三维实体的表示(5/7)
表面模型 ----物体的皮肤
– 将形体表示成一组表面的集合,形体与其表面一一对应,避 免了二义性
– 能够满足真实感显示和数控加工等需求 – 只有面的信息,形体信息不完整 – 无法计算和分析物体的整体性质(如体积、重心等) ,限制
正则形体与非正则形体:
– 要保证几何造型的可靠性和可加工性,形体上任意一点的 足够小的邻域在拓扑上必须是一个等价的封闭圆,即该点 的邻域在二维空间中是一个单连通域
– 点至少和三个面(或三条边)邻接,不允许存在孤立点 – 边只有两个邻面,不允许存在悬边 – 面是形体表面的一部分,不允许存在悬面
P
有悬面
数据模型——边界表示(11/12)
在边界表示的数据结构中,比 较著名的有:
半边数据结构
辐射边数据结构
翼边数据结构
– 1972年由美国斯坦福大学 B.G.Baumgart等人提出
– 是以边为核心来组织数据的一种 数据结构
百度文库
左上边
P2 右上边
左外环 右外环
e
左下边
右下边 P1
翼边数据结构
数据模型——边界表示(12/12)
中,因此,显示与绘制CSG表示的形体需要较长的时间 – 求交计算麻烦
方法,由两个物体的正则集合操作生成 新的物体
– 并(union) – 交(intersection) – 差(difference)
有重叠部分的一个长方体 和一个柱体
交 差
数据模型——构造实体几何表示(2/5)
普通的集合运算会产生悬边、悬面等低于三维的形体
A B
A B
悬边
C
C
普通集合的交
正则集合的交
– 英国剑桥大学的BUILD-1系统 – 德国柏林工业大学的COMPAC系统 – 日本北海道大学的TIPS-1系统 – 美国罗切斯特大学的PADL-1、PADL-2系统等 – 5年后推出BUILD-2系统
实体造型系统的发展(2/3)
早期系统的特点:
– 用多面体表示形体,不支持精确的曲面表示
1978年,英国Shape Data公司,ROMULUS系统, 首次引入精确的二次曲面方法用于精确表示几何形 体
优点
– 表示简单、直观,无二义性 – 数据量比较小,内部数据的管理比较容易 – 形体形状容易被修改 – 可用作图形输入的一种手段 – 容易计算物体的整体性质 – 物体的有效性自动得到保证
缺点
– 表示物体的CSG树不唯一 – 受体素种类和对体素操作种类的限制,CSG方法表示形
体的覆盖域有较大的局限性 – 形体的边界几何元素(点、边、面)隐含地表示在CSG
– 如果它内部没有物体,将该节点标记为 E(Empty),算法结束;
– 如果它被物体部分占据,将该节点标记为 P(Partial),并将它分割成8个子立方体,对每一 个子立方体进行同样的处理
数据模型——分解表示(5/8)
– 优点
可以表示任何物体,数据结构简单 容易实现物体间的集合运算 容易计算物体的整体性质,如体积等 较空间位置枚举表示占用的存贮空间少
v=8,e=13,f=7
数据模型——边界表示(8/12)
欧拉物体
– 满足欧拉公式的物体
欧拉运算
– 增加或者删除面、边和顶点以生成新的欧拉 物体的过程
数据模型——边界表示(9/12)
欧拉运算时,必须要保证欧拉公式和下述条件 成立,才能够保证形体的拓扑有效性。
– 面单连通,没有孔,且被单条边环围住; – 实体的补集是单连通,没有洞穿过它; – 边完全与两个面邻接,且每端以一个顶点结束; – 顶点至少是三条边的汇合点。
数据模型——分解表示(8/8)
– 优点
表示简单 容易实现几何变换 基本体素可以按需选择,表示范围较广 可以精确表示物体
– 缺点
物体的表示不唯一 物体的有效性难以保证
数据模型——构造实体几何表示(1/5)
构造实体几何表示 constructive solid gemetry,简称CSG 采用单一的“建筑块”形式的实体造型
最有代表性的两个几何造型系统
– Parasolid:1985年,Shape Data公司 – ACIS: 1990年,美国Spatial Technology
公司
目前,许多流行的商用CAD/CAM软件, 如Unigraphics、Solidedge、Solidwork 、MDT等,都在Parasolid或ACIS基础上 开发。
了在工程分析方面的应用
三维实体的表示(6/7)
实体模型 ----”有血有肉”的物体模型
– 用来描述实体,主要用于CAD/CAM – 包含了描述一个实体所需的较多信息,如几何信息、拓
扑信息 – 表示完整而无歧义
三维实体的表示(7/7)
过程模型
– 以一个过程和相应的控制参数描述
– 以一个数据文件和一段代码的形式存在
– 包括----随机插值模型、迭代函数系统、 L系统、粒 子系统、复变函数迭代等
表示实体的方法
数据模型——边界表示(1/12)
Boundary Representation, 也称BR表示或BRep表示
– 最成熟、无二义性
物体的边界与物体一一对应
– 实体的边界是表面的并集 – 表面的边界是边的并集
优点
– 精确表示物体 – 表示覆盖域大,表示能力强 – 容易确定几何元素间的连接关系,几何变换容易 – 显式表示点、边、面等几何元素,绘制速度快
缺点
– 数据结构及其维护数据结构的程序复杂 – 需大量的存储空间 – 有效性难以保证
数据模型——分解表示(1/8)
空间位置枚举表示
– 选择一个立方体空间,将其均匀划分
– 缺点
是物体的非精确表示 没有边界信息,不适于图形显示 对物体进行几何变换困难
数据模型——分解表示(6/8)
单元分解(cell decomposition)表示
– 多种体素
(a) 棱锥体素
(b) 长方体体素
(c) 图(a)和(b)两种体素的并集
数据模型——分解表示(7/8)
三种空间分割方法的比较 – 空间位置枚举表示----同样大小立方体 – 八叉树表示----不同大小的立方体单元 分解表示----多种体素
– 用三维数组C[I][J][K]表示物体,数组中的元素与 单位小立方体一一对应
数据模型——分解表示(2/8)
– 优点
可以表示任何物体 容易实现物体间的集合运算 容易计算物体的整体性质,如体积等
– 缺点
是物体的非精确表示 占用大量的存储空间,如1024*1024*1024 = 1G bits 没有边界信息,不适于图形显示 对物体进行几何变换困难,如非90度的旋转变换
5
1
2
3
1
4
2 (a)v=8,e=12,f=6 增加一条边:v=8,e=13,f=7
(b) v=9,e=14,f=7 形体的欧拉运算
正则 形体
5
2
3
1
4
(c) v=9,e=16,f=9
数据模型——边界表示(10/12)
广义欧拉公式
欧拉公式:V-E+F=2(对任意的简单多面体) 对任意的正则形体,引入形体的另外参数:
数据模型——分解表示(3/8)
八叉树(octrees)表示
– 自适应分割
数据模型——分解表示(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)
– 如果它完全被物体占据,将该节点标记为 F(Full),算法结束;
– Topology
描述形体的几何元素性质和度量关系, 如位置、大小、方向、尺寸、形状等信息 犹如附着在“骨架”上的肌肉
数据模型——边界表示(4/12)
表示形体的基本几何元素 :
– 顶点(Vertex) – 边(Edge)
– 面(Face)
– 环(Loop) – 体(Body)
数据模型——边界表示(5/12)
有悬边
一条边有两个 以上的邻面
点P的邻域非 单连通
数据模型——边界表示(6/12)
几何元 素 面
边 点
正则形体 是形体表面的一部分
只有两个邻面 至少和三个面(或三条边) 邻接
非正则形体
可以是形体表面的 一部分,也可以是 形体内的一部分, 也可以与形体相分 离。
可以有多个邻面、 一个邻面或没有邻 面。
可以与多个面(或 边)邻接,也可以 是聚集体、聚集面 、聚集边或孤立点 。
数据模型——边界表示(7/12)
欧拉特征
– 设表面s由一个平面模型给出,且v,e,f分别表示其顶点、 边和小面的个数,那么v-e+f是一个常数,它与s划分形 成平面模型的方式无关。该常数称为Euler特征。
欧拉公式 v-e+f=2