几何建模技术综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
几何建模技术
几何造型技术概述
几何造型技术是研究在计算机中,如何表达物体模型形状的 技术。几何造型通过对点、线、面、体等几何元素的数学描述, 经过平移、旋转、变比等几何变换和并、交、差等集合运算,产 生实际的或想象的物体模型。
主要内容:
1.几何形体的计算机内部表达 2.几何形体的CSG、Brep表达
………….
………….
}
}
}
3.实体模型
思考:相邻两个面的公共棱边的方向不会 矛盾吗?
有矛盾,CAD系统中增加“环” 的定义解 决矛盾
改进的数据结构如下:
class POINT {
同线框模型
class LOOP {
int lop_typ;// 环类型 int *eno; //边索引 LOOP *nxt;//下一环
根据实体模型,可以进行物性计算(如体积、质量,惯 量)、有限元分析等应用。 从前面的实体模型可知,本质上我们仍然采用形体的边界表 面的数学描述代替实体描述。 这种典型的描述方法通常称为实体的边界表达方法(BREP)
4. 线框、表面与实体模型的比较
3.实体模型
为了解决形体存在于表面的哪一侧的问题,可采用实体模 型来描述三维立体 在表面模型的基础上可用三种方法来定义表面的哪一侧存 在实体。
1)给出实体存在一侧的一点; 2)直接用表面的外法矢来指明实体存在的一侧; 3)用有向棱边隐含地表示表面的外法矢方向,该方
法为CAD系统广泛采用。
(思考:为什么不直接用法矢?)
基本概念及定义
点用三维坐标表示,是最基本的元素 边是形体相邻面的交界,可为空间直线或曲线 环是有序、有向的封闭边界,外环仅一个,逆时针方向,内环可 有可无,也可多个,方向顺时针。 面是一个单连通区域,可以是平面或曲面,由一个外环和若干个 内环组成;面的方向由面的法矢决定,法矢向外为正向面。
基本概念及定义
实体是由若干个面组成的闭集,实体的边界是有限个面的集 合。 形体表面上任一点的足够小的邻域在拓扑上应是一个等价的 封闭圆,即围绕该点的形体邻域在二维空间中可构成一个单 连通域,我们把满足该定义的形体称为正则形体。否则为非 正则形体,如存在悬面、悬边的长方体为非正则形体。
1.线框模型
线框模型用顶点和棱边表示三维形体,其棱边可以为直线、圆 弧、二次曲线及样条曲线组成 。
1.线框模型
线框模型在计算机内存储的数据结构: 顶点表:记录各顶点坐标值; 棱线表:记录每条棱线所连接的顶点及走向。
class POINT { double v[3]; //坐标值 int pointtype; //点的属性 class EDGE { int start_point_no; //边的起点 int end_point_no; //边的终点 CURVE cur; //边方程定义; ………….. ………….. } 以立方体为例,其线框模型结构如下表: }
class FACE {
int loop_num; LOOP * lop; int face_type; //环数 //环链表 //面类型
………
}
class EDGE
{ 同线框模型 }
………….
Biblioteka BaiduSURFACE sur; //面方程
………….
………
}
} 用“+、-”标识边的方向
3.实体模型
实体模型的特点
本章目的 1.了解计算机内部是怎样表达三维机械零部件模型 2.了解几何形体CSG、BREP表达的基本原理
几何形体的计算机内部表达
计算机中表示形体,通常用线框模型、表 面模型和实体模型。 线框模型和表面模型保存的三维形体信息 都不完整。 只有实体模型才能够完整地、无歧义地表 示三维形体。
在实体模型的表示中,出现了许多方法, 基本上可以分为空间分解表示(单元枚举、 八叉树分解、单元分解等)、构造表示(CSG) 和边界表示(BREP)三大类。构造表示是按 照生成过程来定义形体的方法,构造表示通 常有扫描表示、构造实体几何表示和特征表 示三种。
2.表面模型
表面模型是用有连接顺序的棱边围成的有限区域来定义形 体的表面,再由表面的集合来定义形体。 表面可以是平面,也可以是柱面、球面等类型的二次曲面, 也可是样条曲面构成的自由曲面。 表面模型是在线框模型的基础上,增加有关面边信息以及 表面特征、棱边的连接方向等内容。 表面模型存储几何信息的方法是建立三表结构,即顶点表、 边表和面表。
3.实体模型
用有向棱边隐含地表示表面的外法矢方向 时,规定有向棱边按右手法则取向:沿着闭合 的棱边所得的方向与表面外法矢方向一致。
数据结构如下:
class POINT {
同线框模型
class EDGE {
同线框模型
class FACE
{
int edge_num; EDGE * edge; int face_type; SURFACE sur; …………. //边数 //边链表 //面类型 //面方程
2.表面模型
1)顶点坐标值存放在顶点表中; 2)含有指向顶点表指针的边表,用来为多边形的每条边标识 顶点;边有方向,从起点到终点为正方向; 3)面表有指向边表的指针,用来为每个表面标识其组成边。
2.表面模型
class POINT {
同线框模型
class EDGE {
同线框模型
class FACE {
int edge_num; //边数 int *edge_no; //边链表 int face_type; //面类型 SURFACE sur;//面方程 …………….
………….
………….
}
}
}
2.表面模型
优点: 表面模型可以满足面面求交,线面消隐、明暗 处理和数控加工的要求。
缺点: 表面模型唯一没有解决的问题是形体究竟在表 面的哪一侧,因而在物性计算、有限元分析等应用 中,表面模型在形体的表示上仍然缺乏完整性。
8
1.线框模型
优点
1. 结构简单,计算机内部易于表达,绘制快速; 2. 物体的三维数据可以产生任意视图,为生成工程图 带来了方便
缺点
1. 有二义性,缺少表面轮廓信息,当形状复杂、棱线过多时, 会引起模糊理解。 2. 在数据结构中缺少边与面、面与体之间关系的信息。从原理 上讲,此种模型不能消除隐藏线、计算物性、生成数控加工 刀具轨迹、有限元网格剖分、物体干涉检验等。
相关文档
最新文档