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