第9讲 三维几何建模-1分解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从前面的实体模型可知,本质上我们仍然采用形 体的边界表面的数学描述代替实体描述,这种典型的描 述方法通常称为实体的边界表达方法(BREP)
线框、表面与实体模型的比较
模型表示 二维线框 三维线框 表面模型 应用范围 画二维线框图(工程 图) 画二、三维线框图 艺术图形、形体表面 的显示、数控加工
物性计算、有限元分析 用集合运算构造形体
4. CSG表示可方便地转换成边界(Brep)表示。
缺点:
1. 对形体的表示受体素的种类和对体素操作的种类的限制, 也就是说,CSG方法表示形体的覆盖域有较大的局限性;
2. 不能进行形体的局部修改,例如,不能对基本体素的交 线倒圆角;
3. 由于形体的边界几何元素(点、边、面)是隐含地表示 在 CSG 中,集合运算效率低,显示 CSG 表示的形体需要较 长的时间。
(思考:为什么不直接用法矢?)
用有向棱边隐含地表示表面的 外法矢方向时,规定有向棱边按右 手法则取向:沿着闭合的棱边所得 的方向与表面外法矢方向一致。 思考:相邻两个面的公共棱边 的方向不会矛盾吗?
(有矛盾,CAD系统中增加“环” 的定义解决矛盾)
数据结构如下:
class POINT {
同线框模型
而每个面又由它的数学定义加上其边 界来表示,面的边界是环边的并集, 而边又是由点来表示的。
点用三维坐标表示,是最基本的元素 边是形体相邻面的交界,可为空间直 线或曲线 环是由有序、有向的边组成的封闭边 界。环有内、外环之分,外环最大且 只有一个;内环的方向和外环相反, 外环边通常按逆时针方向排序,内环 边通常按顺时针方向排序。 面是一个多连通区域,可以是平面或曲面,由一个外环 和若干个内环组成。根据环的定义,在面上沿环的方向 前进,左侧总在面内,右侧总在面外。面的方向用垂直 于面的法矢表示,法矢向外为正向面。 实体是由若干个面组成的闭包,实体的边界是有限个面 的集合。
对复杂实体的数据结构则采用更多的层次表来描述
边界表示的数据结构
边界表示强调实体的外表细节,把面、边、顶点的信息分 层描述,并建立了层与层之间边界表示。 没有统一的数据结构,为了有效地表示几何体的拓扑关系 ,斯坦福大学B.G.Baumgart在1972年提出的以棱边为中心的 多面体表示的翼边结构(Winged Edge Data Structure,WED) 及改进后的对称结构等。 翼边结构以边为核心组织数据,如图: 棱边数据结构中包含两个点指针, 指向该边的起点和终点,棱边为一有向 线段。当棱边为曲线段时,还需增加一 指针指向曲线表示的结构。 现在的CAD系统数据结构都是翼边结构的变种
CSG中物体形状的定义以集合论为基础,先定义集合 本身,其次是集合之间运算。所以,CSG表示先定义有 界体素 ( 如立方体、圆柱、球、锥、圆环等 ) ,然后将 这些体素进行并、交、差运算(如图)。
A 体
B 体
A+ * B
A- * B
A ∩ *B
形体的 CSG 可看成是一个有序的二叉树,其叶子 节点是体素或几何变换的参数,非叶节点则是布尔运 算的操作符或几何变换操作。任何子树表示其下两个 节点的组合或变换的结果,树根表示最终的形体。
用CSG 树表示一个形体是无二义性的,但一个形 体可以有不同的 CSG树表示,取决于使用的体素、构 造操作方法和操作顺序。
CSG表示依赖稳定可靠的布尔运算算法支撑。
CSG表示法的优点:
1. 数据结构比较简单,数据量比较小,易于管理;
2. 每个CSG都和一个实际的有效形体相对应;
3. CSG树记录了形体的生成过程,可修改形体生成的各环节 以改变形体的形状;
表面模型存储几何信息的方法是建立三表结构, 即顶点表、边表和面表。 1. 顶点坐标值存放在顶点表中;
2. 含有指向顶点表指针的边表,用来为多边形的 每条边标识顶点;
3. 面表有指向边表的指针,用来为每个表面标识 其组成边。
class POINT {
同线框模型
class EDGE {
同线框模型
class FACE {
线框模型用顶点和棱边表示三维形体,其棱边可以为 直线、圆弧、二次曲线及样条曲线组成 。
线框模型在计算机内存储的数据结构:
顶点表:记录各顶点坐标值; 棱线表:记录每条棱线所连接的两顶点。
class POINT { double v[3]; //坐标值 int pointtype; //点的属性 ………….. class EDGE { int start_point_no; //边的起点 int end_point_no; //边的终点 CURVE cur; //边方程定义; ………….. }
class EDGE {
同线框模型
class FACE
{
int edge_num; EDGE * edge; int face_type; SURFACE sur; …………. //边数 //边链表 //面类型 //面方程
………….
………….
}
}
}
实体模型的特点
根据实体模型,可以进行物性计算(如体积、质 量,惯量)、有限元分析等应用。
在这九种不同类型的拓扑关系中,有些关系冗余, 因此计算机内部并不需要所有拓扑关系都直接表达。
但至少需表达两种以上拓扑关系才能构成一个实体 完全的拓扑信息。
存储更多的拓扑关系,花费的代价是存储量大了, 以冗余来换计算工作量的节省和某些算法的易于实现。 例如,在Brep表达中,简单实体的数据结构可用体、 面、边、点四个层次的表描述
描述形体拓扑信息的根本目的是便于直接对构成形体 的各面、边及顶点的参数和属性进行存取和查询,便于实 现以面、边、点为基础的各种几何运算和操作。
例如:多面体的面、边和顶点间的九种拓扑关系
面面邻接关系 面上点的关系 面上边的关系
点与面连接关系 点点连接关系 点与边连接关系
边面邻接关系
边点连接关系
边边连接关系
计算机图形学与CAD技术
华中科技大学 国家CAD支撑软件工程技术研究中心
第8讲 几何造型-Ⅰ
1. 几何形体的计算机内部表达 2. 实体模型的CSG、BREP表达
3. 实体模型的其它表达方法
本章目的 1.了解计算机内部是怎样表达三维机械零部件模型 2.了解实体模型CSG、BREP表达的基本原理 3.了解实体模型的其它表达方法
WED中另设两个环指针,分别指向棱边所邻接的两个环(左环和右 环)。由边环关系可确定棱边与邻面之间的拓扑关系。 为了从棱边搜索到它所在的任一闭环上的其它棱边,数据结构中 还增设四个指向邻边的指针,分别为左上边、左下边、右上边、 右下边,左上边为棱边左边环中沿逆时针方向所连接的下一条边, 其余类推。 WED 方法拓扑信息完整,查询和修改方便,可很好地应用于正则 布尔运算
BREP表达数据结构举例
Brep表示法的优点:
1. 表示形体的点、线、面等几何元素是显式表示、使得形体 的显示很快并且很容易确定几何元素之间的连接关系; 2. 可对Brep法的形体进行多种局部操作,比如倒角; 3. 便于在数据结构上附加各种非几何信息,如精度、表面粗 糙度等。 4. Brep表示覆盖域大,原则上能表示所有的形体
几何造型技术
几何造型技术是研究在计算机中,如何表达物体模型形 状的技术。几何造型通过对点、线、面、体等几何元素 的数学描述,经过平移、旋转、变比等几何变换和并、 交、差等集合运算,产生实际的或想象的物体模型。
第8讲 几何造型-I
1.几何形体的计算机内部表达 2.实体模型的CSG、BREP表达 3. 实体模型的其它表达方法
几何形体的计算机内部表达
计算机中表示形体,通常用
线框模型 表面模型
实体模型
三种模式实质上代表了形体在计算 机内三种不同的存储方式 线框模型和表面模型保存的三维形 体信息都不完整。只有实体模型才能 够完整地、无歧义地表示三维形体, 已成为各种图形系统的核心
线框模型(wireframe Model)
Brep中必须表达的信息分为两类:
一类是几何信息。描述形体的大小、位置、形状等基 本信息,如顶点坐标,边和面的数学表达式等。
另一类是拓扑信息。拓扑信息描述形体上的顶点、边、 面的连接关系。
拓扑信息形成物体边界表示的“骨架”,形体的几何 信息犹如附着在“骨架”上的“肌肉”。 在 Brep 中,拓扑信息是指用来说明体、面、边及顶点 之间连接关系的这一类信息,例如面与哪些面相邻;面由 那些边组成等。
int edge_num; //边数 int *edge_no; //边链表 int face_type; //面类型 SURFACE sur; //面方程 …………….
………….
………….
}
}
}
以立方体为例,其表面模型结构如下表:
表面模型的特点
表面模型可以满足面面求交,线面消隐、 明暗处理和数控加工的要求。
局限性
无法观察参数的变化,不可 能产生有实际意义的形体
不能表示实体、图形会有 二义性 不能表示实体 只能产生正则形体 抽象形体的层次较低
实体模型
第8讲 几何造型-I
1.几何形体的计算机内部表达 2.实体模型的CSG、BREP表达 3. 实体模型的其它表达方法
实体模型能够完整地、无歧义地表示 三维形体,已成为各种图形系统的核心。 在实体模型的表示中,出现了许多方法, 基本上可以分为三大类 空间分解表示 构造表示(CSG)
表面模型唯一没有解决的问题是形体究竟 在表面的哪一侧,因而在物性计算、有限元分 析等应用中,表面模型在形体的表示上仍然缺 乏完整性。
实体模型(Solid Model)
为了解决形体存在于表面的哪一侧的问题,可采用实 体模型来描述三维立体
在表面模型的基础上可用三种方法来定义表面的哪 一侧存在实体。
① 给出实体存在一侧的一点; ② 直接用表面的外法矢来指明实体存在的一侧; ③ 用有向棱边隐含地表示表面的外法矢方向。(该方 法为CAD系统广泛采用)
缺点:
1. 数据结构复杂,需要大量存储空间,维护内部数据结构及 一致性的程序较复杂; 2. 对形体的修改操作较难实现; 3. Brep表示不一定对应一个有效形体。
构造实体几何表示方法(CSG)
构造实体几何表示 (Constructive Solid Geometry, 缩写为 CSG) 的含义是任何复杂的形体都可用简单形体 通过正则集合运算组合,并配合几何变换来表示。 在 1977 年由罗切斯特 (Rochester) 大学的 Voelcker 和 Bequicha等人首先提出的。
表面模型(Surface Model)
表面模型是用有连接顺序的棱边围成的有限区域 来定义形体的表面,再由表面的集合来定义形体。 表面可以是平面,也可以是柱面、球面等类型的 二次曲面,也可是样条曲面构成的自由曲面。 表面模型是在线框模型的基础上,增加有关面边 信息以及表面特征、棱边的连接方向等内容。
CSG+BREP混合表示
从用户进行造型的角度看, CSG 方法比较方便,从对 形体的存储管理和操作的角度看,Brep法更为实用。 目前大多数 CAD系统都以 CSG+Brep 的混合表示作为 形体数据表示的基础: 以 CSG 模型表示几何造型的特征历史过程及其特 征设计参数; 用Brep模型维护详细的几何信息和显示、查询等 操作,同时也为布尔运算提供基础。
}
以立方体为例,其线框模型结构如下表:
Βιβλιοθήκη Baidu 优点
1. 结构简单,计算机内部易于表达,绘制快速; 2. 物体的三维数据可以产生任意视图,为生成工程图带来了方便
缺点
1. 有二义性,缺少表面轮廓信息,当形状复杂、 棱线过多时,会引起模糊理解。 2. 在数据结构中缺少边与面、面与体之间关系 的信息。从原理上讲,此种模型不能消除隐 藏线、计算物性、生成数控加工刀具轨迹、 有限元网格剖分、物体干涉检验等。
边界表示(BREP)
空间分解表示有单元枚举、八叉 树分解等 构造表示是按照生成过程来定义 形体的方法,构造表示通常有扫描 表示、构造实体几何表示和特征表 示三种。
边界表式方法(BREP)
边界表示(Boundary Representation, 缩写Brep)通过描述实体的边界来表示实 体。实体的边界将该实体分为实体内点 集和实体外点集,是实体与环境之间的 分界面。定义了实体的边界,实体就被 唯一定义,如右图所示。 实体的边界通常是由面的并集来表示, 面可以是一组曲面(或平面),如图为 平面表示的立体和曲面表示的立体。
相关文档
最新文档