首页 百科知识 几何建模技术

几何建模技术

时间:2022-11-02 百科知识 版权反馈
【摘要】:几何建模技术是将现实世界中的物体及其属性转化为计算机内部数字化表示、可分析、控制和输出几何形体的方法。CAD/CAM系统中的几何模型就是把三维实体的几何形状及其属性用合适的数据结构进行描述和存储,供计算机进行信息转换和处理的数据模型。因此,几何建模技术是CAD/CAM系统的关键技术。为了满足CAD/CAE/CAM集成的要求,非几何信息的描述和表示显得越来越重要,是目前特征建模中特征分类的基础。

3.1.1 几何建模的基础知识

几何建模技术是将现实世界中的物体及其属性转化为计算机内部数字化表示、可分析、控制和输出几何形体的方法。CAD/CAM系统中的几何模型就是把三维实体的几何形状及其属性用合适的数据结构进行描述和存储,供计算机进行信息转换和处理的数据模型。这种模型包含了三维形体的几何信息、拓扑信息以及其他的属性数据。而几何建模过程就是以数据计算机能够理解的方式,对几何实体进行确切的定义,赋予一定的数学意义,再以一定的数据结构形式对所定义的几何实体加以描述,从而在计算机内部构造一个实体的几何模型。通过这种方法定义的、描述的几何实体必须是完整的、唯一的,而且能够从计算机内部的模型上提取该实体生成过程中的全部信息,或者能够通过系统的计算分析自动生成某些信息。计算机集成制造系统的水平在很大程度上取决于三维几何建模系统的功能。因此,几何建模技术是CAD/CAM系统的关键技术。

几何建模的基础知识主要包括几何信息、拓扑信息、非几何信息、形体的表示、正则集合运算和欧拉检验公式等。

(1)几何信息。指构成三维形体的各几何元素在欧式空间中的位置和大小,它可以利用具体的数学表达式来进行描述。几何信息主要包括点、线、面和体的信息。

①点:点是零维几何元素,是几何建模中最基本的元素。在计算机中对曲线、曲面形体的描述、存储、输入、输出,实质上都是针对点集及其连接关系进行处理。根据点在实际形体中存在的位置,可以将点分为端点、交点、切点等。对形体进行几何运算还可能形成孤立点,在对形体定义时孤立点一般是不允许存在的。

②边:边是一维几何元素。它是形体相邻面的交界,对于正则形体而言,边只能是两个面的交界,对于非正则形体而言,边可以是多个面的交界。

③环:环是由有序、有向边组成的封闭边界。环中的边不能相交,相邻两条边共享一个端点。环的概念是和面的概念密切相关的,环分为内环和外环,外环用于确定面的最大外边界,而内环是用于确定面内孔的边界。

④面:面是二维几何元素。它是形体上一个有限、非零的单连通区域。它分为平面和曲面。面由一个外环和若干内环包围而成,外环须有一个且只有一个,而内环可以没有也可以有许多个。

⑤体:体是三维几何元素。它是由若干个面包围而成的封闭空间,也就是说体的边界是有限个面的集合。几何造型的最终结果就是各种形式的体。

⑥体素:体素是指可由有限个参数描述的基本形体,或由定义的轮廓曲线沿指定的轨迹曲线扫描生成的形体。体素可分为基本形体体素(包括长方体、圆柱体、球体等)和由定义的轮廓曲线沿指定的轨迹曲线扫描生成的体素,称为轮廓扫描体素。

(2)拓扑信息。拓扑信息反映三维形体中各几何元素的数量及其相互之间的连接关系。任一形体都是由点、边、环、面、体等各种不同的几何元素构成的。这些几何元素间的连接关系是指一个形体由哪些面组成,每个面上有几个环,每个环由几条边组成,每条边由几个顶点定义等。各种几何元素相互间的关系构成了形体的拓扑信息。如果拓扑信息不同,即几何信息不同,最终构造的形体也可能完全不同。

在几何建模中最基本的几何元素是点(V)、边(E)、面(F),这三种几何元素之间有如图3-1所示的九种连接关系。

图3-1 点、边、面几何元素间的拓扑关系

(3)非几何信息。非几何信息是指产品除几何实体的几何信息、拓扑信息以外的信息,包括零件的物理属性和工艺属性等,如零件的质量、性能参数、尺寸公差、加工粗糙度各技术要求等信息。为了满足CAD/CAE/CAM集成的要求,非几何信息的描述和表示显得越来越重要,是目前特征建模中特征分类的基础。

(4)形体的表示。形体在计算机内通常采用六层拓扑结构(图3-2)进行定义,各层结构的定义如下:

①体:体是由封闭表面围成的有效空间,其边界是有限个面的集合。如图3-3a所示的立方体是由F 1~F 6六个平面围成的空间。具有良好边界的形体定义为正则形体,正则形体没有悬边、悬面或一条边有两个以上邻面的情况,反之为非正则形体,如图3-3b所示。

②壳:壳是构成一个完整实体的封闭边界,是形成封闭的单一连通空间的一组面的结合。一个连通的物体由一个外壳和若干个内壳构成。

③面:面是由一个外环和若干个内环界定的有界、不连通的表面。面有方向性,一般采用外法矢方向作为该面的正方向。如图3-3c所示,F面的外环由e 1、e2、e3、e4四条边沿逆时针方向构成,内环由e5、e6、e7、e8构四条边沿顺时针方向构成。

图3-2 形体的表示

④环:环是面的封闭边界,是有序、有向边的组合。环分为内环和外环,外环的边按逆时针走向,内环的边按顺时针走向,所以沿任一环的正向前进时左侧总是在面内,右侧总是在面外(图3-3c)。

⑤边:边是实体两个邻面的交界,对正则形体而言,一条边有且只有两个相邻面,在正则多面体中不允许有悬空的边。一条边有两个顶点,分别称为起点和终点,边不能自交。

⑥顶点:顶点是边的端点,为两条或两条以上的交点。顶点不能孤立存在于实体内、实体外或面和边的内部。

图3-3 正则形体、非正则形体和实体的构造示意图

(5)正则集合运算。不管采用哪种方法表示物体,人们都希望能用一些简单形体经过某种组合形成新的复杂形体。而最常用的方法是通过形体布尔运算实现简单形体组合形成新的复杂形体。

经过集合运算生成的形体也应是具有边界良好的几何形体,并保持初始形状的维数。如图3-4所示,两个立方体经过布尔运算的结果分别是实体、平面、线、点和空集。

图3-4 布尔运算

有时两个三维形体经过相交运算后,产生了一个退化的结果,在形体中多了一个悬面。悬面是一个二维形体,实际的三维形体中是不可能存在悬面的,也就是说集合运算在数学上是正确的,但有时在几何上是不恰当的。为了解决这个问题,则需要采用正则集合运算来实现。

正则集合运算与普通集合运算的关系如下:

A∩*B=Ki(A∩B)

A∪*B=Ki(A∪B)

A-*B=Ki(A-B)

式中,∩*、∪*、-*分别为正则交、正则并和正则差的符号,K表示封闭,i表示内部。

(6)欧拉检验公式。为了保证建模过程的每一步所产生的中间形体的拓扑关系都是正确,即检验物体描述的合法性和一致性,欧拉提出了描述形体的集合分量和拓扑关系的检验公式:

F+V-E=2+R-2H

式中,F、V、E、R、H分别为面数、顶点数、边数、空洞数和空穴数。欧拉检验公式是正确生成几何物体边界所表示的数据结构的有效工具,也是检验物体描述正确与否的重要依据。

3.1.2 几何建模的方法

几何建模方法是将对实体的描述和表达建立在对几何信息和拓扑信息处理的基础上。按照这两方面信息的描述和存储方法的不同,三维几何建模系统可划分为线框建模、表面建模和实体建模三种主要类型。本节主要介绍线框建模和表面建模。

1)线框建模

(1)线框模型的概念。用顶点和棱边表示物体的方法就是线框建模。线框模型是在计算机图形学和CAD领域中最早用来表示形体的模型,现在很多二维CAD方面的软件都是基于这种几何模型而开发出来的。这种模型以线段、圆、弧、文本和一些简单的曲线为描述对象,通常将这些称为图形元素。线框模型中引进了图元的概念,图元是由图形元素和属性元素组成的一个整体。自从有了图形元素,人们对图形的操作就产生了一个飞跃,人们不仅可以对具体的图形元素进行操作,甚至还可以把多个图形元素和符号或零件联系起来,组成块进行统一编辑操作,并且还可以进行交、并、差等布尔运算,使计算机辅助设计的领域进一步扩大。

线框模型的数据结构采用表结构。在计算机内部,存储的是该物体的顶点和棱线信息,将实体的几何信息和拓扑信息层次清楚地记录在顶点表及棱边表中,其中顶点表描述每个顶点的编号和坐标,棱边表记录每一棱边起点和终点的编号,它们构成了形体线框模型的全部信息。图3-5所示为一立方体的线框模型,表3-1和表3-2分别为立方体顶点表和边表。

图3-5 线框模型

表3-1 顶点表

表3-2 边表

(2)线框模型的特点。线框模型具有很好的交互作图功能,其特点是数据结构简单,信息量少,计算机内部容易表达和处理,对硬件要求不高、显示响应速度快等。利用线框模型,通过投影变换可以快速生成三视图,生成任意视点和方向的透视图和轴测图,并能保证各视图间正确的投影关系。因此,线框模型至今仍被普遍使用,它作为建模的基础,与表面模型和实体模型密切配合,成为CAD建模系统中不可缺少的组成部分。已建成的实体模型,可以用线框图快速进行显示和处理。

图3-6 线框模型的多义性

但是由于线框模型只有棱边和顶点的信息,缺少面与边、面与体等拓扑信息,所以形体信息的描述不完整,容易产生多义性,对形体占据的空间不能正确描述。如图3-6所示,该长方体的上表面既可以理解为凹面又可以理解为凸面。此外,由于没有面和体的信息,不能进行消隐,不能产生剖视图,不能进行物性计算和求交计算,无法检验实体的碰撞和干涉情况,无法生成数控加工的刀具轨迹和有限元网络的自动划分等。

由于这些缺点的存在,三维线框模型不适用于需要对物体进行完整性信息描述的场合,一般用在实时仿真或中间结果显示上。

2)表面建模

(1)表面建模的基本原理。表面建模也称曲面建模,是通过对实体的各个表面或曲面进行描述而构造实体模型的一种建模方法。建模时先将组成物体的复杂外表面分解为若干组成面,然后定义出一块块的基本面素,基本面素可以是平面或二次曲面,例如圆柱面、圆锥面、圆环面、旋转面等,各组成面的拼接就是所构造的模型。在计算机内部,曲面建模的数据结构仍是表结构,表中除了给出边线及顶点的信息外,还提供了构成三维立体各组成面素的信息,即在计算机内部,除了顶点表和边表之外,还提供了面表。图3-6所示的立方体,除了顶点表和棱边表之外,增加了面表结构(表3-3)。面表包含有构成面边界的棱边序列、面方程系数以及表面可见性等信息。

表3-3 面表

相对于线框建模来说,表面模型增加了面、边的拓扑关系,因而可以进行消隐处理、剖面图的生成、渲染、求交计算、数控刀具轨迹的生成、有限元网格划分等操作,但表面模型仍缺少体的信息以及体、面间的拓扑关系,无法区分面的哪一侧是体内或体外,仍不能进行物性计算和分析。

(2)表面建模的方法。根据形体表面不同,可将表面建模中的曲面分为几何图形曲面和自由型曲面。其中,几何图形曲面是指那些具有固定几何形状的曲面,如球面、圆锥面、牵引曲面和旋转曲面等。自由型曲面主要包括二维和三维扫描曲面、孔斯曲面、Bezier曲面、B样条曲面和NURBS曲面等。

根据表面建模方法的不同,曲面又可分为扫描曲面、直纹曲面和复杂曲面。

①扫描曲面。根据扫描方法不同,扫描曲面又可分为线性拉伸面、旋转扫描曲面和轨迹扫描曲面。线性拉伸面是由一条曲线沿着某个直线方向移动而形成的曲面(图3-7a);旋转扫描曲面是由一条曲线(母线)绕某一轴线旋转而成的(图3-7b);轨迹扫描曲面是由一条曲线(母线)沿另一条驱动轨迹曲线运动形成的曲面(图3-7c)。

②直纹曲面。直纹曲面是以直线为母线,直线的两个端点在同一方向上分别沿着两条轨迹曲线移动所生成的曲面。圆柱面与圆锥面都是比较典型的直纹曲面。

③复杂曲面。复杂曲面的基本生成原理是先确定曲面上特定的离散点(型值点)的坐标位置,通过拟合使曲面通过或逼近给定的型值点,从而得到的曲面。常见的复杂曲面有:贝塞尔曲面(Bezier)、孔斯曲面、B样条曲面等。

图3-7 扫描曲面

曲面建模在描述三维实体信息方面比线框建模严密、完整,能够构造出复杂的曲面;同时它也可以对实体表面进行消隐、着色显示、计算表面积以及进行有限元分析等。但是曲面建模中的不足是缺乏实体内部信息,所以有时会产生对实体二义性的理解。20世纪80年代前后提出并逐步发展、完善了实体建模技术,目前实体建模技术已成为CAD/CAM中的主流建模方法。

3.1.3 实体建模

实体建模是用基本体素的组合并通过集合运算和基本变形操作来建立三维立体的过程。实体建模能够准确定义一个物体的几何形状,完整地描述物体的所有几何信息和拓扑信息,而且能够表示形体的色泽、体积、重心和转动惯量等物性,是进一步对设计对象进行工程分析的基础。通过实体模型可以进行应力、应变、稳定性和振动等分析,因此实体模型是现代CAD/CAE/CAM系统中设计对象的主要表达形式,也是目前CAD/CAE/CAM系统所普遍采用的几何建模方法。

实体建模是利用一些基本体素,如长方体、圆柱体、锥体、球体、圆环体和扫描体等,通过集合运算(布尔运算)建立三维实体的过程。因此实体建模主要包括两部分内容,即体素的定义及描述体素之间的布尔运算。下面介绍大多数实体建模系统都支持的几种建模方法。

1)体素的定义及描述

体素是指由有限个参数描述的基本形体,或由定义的轮廓曲线沿指定的轨迹曲线扫描成的形体。

体素的定义及描述有以下两种方法:

一种是基本体素法,可通过少量参数进行描述,如长方体是通过长、宽、高进行定义的。除此之外,还应定义基本体素在空间的位置和方向。同时,基准点的定义也很重要。就长方体而论,它的基准点可以位于一个顶点也可位于一个平面的中心。不同的实体建模系统,可提供不同的基本体类型。图3-8所示是常见的基本体素。

图3-8 常见的基本体素

另一种是扫描法,分为平面轮廓扫描和三维实体扫描。平面轮廓扫描法是一种与二维系统密切结合的、并常用在棱柱体或回转体生成的一种描述方法。这种方法的基本设想是一个二维轮廓在空间平移或旋转就会扫描出一个实体。由此扫描的前提条件是要有一个封闭的平面轮廓。这一封闭的平面轮廓沿着某一坐标方向移动或绕某一给定的轴旋转,便形成了如图3-9所示的体素。三维实体扫描法是用一个三维实体作为扫描体,沿某个曲线移动,也可以是绕某个轴转动或者绕某个点的摆动而得到实体的方法。

图3-9 平面轮廓扫描法生成体素

2)布尔运算

在所需的体素通过以上方法生成后,经过集合论中的交、并、差等运算就可以得到新的实体模型,称为布尔模型,而这种运算就叫做布尔运算。例如A、B两个实体经布尔运算生成C实体,那么布尔模型表示为C=A<OP>B,符号<OP>是布尔算子,它可以是∪(并)、∩(交)和-(差)等。布尔模型是一个过程模型,它通常可直接以二叉树结构来表示。图3-10所示分别为并、交、差运算的实例。

图3-10 布尔运算实例

3)三维实体建模的计算机内部表示方法

计算机内部表示三维实体模型的方法有很多,常用的主要有边界表示法、构造立体几何法、混合表示法(边界表示法和构造立体几何法结合)。

(1)边界表示法。边界表示法(boundary representation,B-rep法),B-rep法的基本思想是将物体定义成由封闭的边界表面围成的有限空间,实体的边界是面,由“面”或“片”的子集表示;表面的边界是边,可用“边”的子集来表示;边的边界是点,即由“顶点”的子集来表示(图3-11)。因此边界表示法强调的是形体的外表细节,详细记录了形体的所有几何信息和拓扑信息,将面、边、顶点的信息分层记录,建立层与层之间的联系。其中,几何信息反映模型的大小和位置,拓扑信息反映的是图形内的相对位置关系。

图3-11 边界表示法示意图

图3-12所示的物体,将它按照面、边、点的方式存储,就得到一种网状的数据存储结构。B-rep法详细记录了构成形体的面、边的方程及顶点坐标值等几何信息,同时描述了这些几何元素之间的连接关系,有利于生成模型的线框图、投影图和工程图,但缺点是信息量大、有冗余。

图3-12 边界表示法数据结构

实体模型的边界表示法和表面模型的区别在于边界表示法的表面必须封闭、有向,各个表面之间具有严格的拓扑关系,从而构成一个整体;而表面模型的表面可以不封闭,不能通过面来判别物体的内部与外部;此外,表面模型也没有提供各个表面之间相互连接信息。早期的B-rep法只支持多面体模型。现在由于参数曲面和二次面均可统一用NURBS曲面表示,面可以是平面和曲面,边可以是曲线,使实体造型和曲面造型相统一,不仅丰富了造型能力,也使得边界表示可精确地描述形体边界,所以这种表示方法也称精确B-rep法。

在CAD/CAM环境下,采用边界表示法建立实体的三维模型,有利于生成和绘制框图、投影图,有利于与二维绘图功能衔接,生成工程图。但它也存在一些缺点。由于在大多数系统中,面的边线是按照逆时针方向存储的,因此边在计算机内部的存储次数都两次,这样边的数据存储会有冗余。此外,它没有记录实体是由哪些基本体素构成,无法记录基本体素的原始数据。

(2)构造几何立体法。构造几何立体法(constructive solid geometry,CSG),它的基本思想是利用一些简单形的体素(如长方体、圆柱体、球体、锥体等),经变换和布尔运算构成复杂形体的表示方法。

在计算机内部存储的主要是物体的生成过程。在这种表示模式中,采用二叉树结构来描述所构成的复杂形体关系。如图3-13所示,CSG模型是有序的二叉树,树根表示定义的形体,树叶为体素或几何变换参数,中间节点表示变换方式或布尔运算的算子。体素进行变换,例如平移或旋转,使之产生刚体运动,将其定位于空间中的某一位置。布尔运算的算子可以是并、交、差等集合运算的算子(分别用∪*、∩*、-*表示)。

图3-13 CSG的二叉树结构

CSG树表示是无二义性的,也就是说一棵CSG树能够完整地确定一个形体,但一个复杂形体可用不同的CSG树来描述。如图3-14所示,图a中物体可以用图b和图c两种CSG结构表示。由此可见,CSG法具备有一定的灵活性。此外,CSG数据结构很容易转化成其他的数据结构,但其他数据结构想要转换成CSG结构却很困难。

图3-14 同一物体的两种CSG结构

采用CSG树表示形体直观简洁,其表示形体的有效性由基本体素的有效性和布尔运算的有效性来保证。通常CSG树只定义了它所表示形体的构造方式,但不存储表面、棱边、顶点等形体的有关边界信息,也未显示定义三维点集与所表示形体在空间的一一对应关系。所以CSG树表示又被称为形体的隐式模型。

采用CSG法的几何造型系统通常包括两部分内容:一部分是二叉树的数据结构,另一部分是描述体素位置和几何形状的数值参数。由于CSG树提供了足够的信息,因此支持对形体的一切物性计算。此外,通过CSG形式可以计算出形体的边界表示数据,实现CSG表示向边界表示的转化,以便获取形体的边界信息。

CSG数据结构比较简单,信息量小,易于管理;每个CSG都和一个实际的有效形体相对应;CSG表示可方便地转换成边界表示;CSG树记录了形体的生成过程,可修改形体生成的任意环节以改变形体的形状。但是CSG数据结构也有一些缺陷。对形体的修改操作不能深入到形体的局部,如面、边、点等。由于它记录的信息不是很详细,如果对实体操作中需要详细的信息,则需要大量的计算。例如两个体素的交线计算,当计算完成以后,由于没有存储结构,计算的结果不能保存,如果需要对屏幕上的图形进行刷新,这时又需要重新计算,显示形体的效率很低。此外,对于较复杂的物体,拼合起来还有一定的局限性。因此,纯CSG的系统很少使用,一般使用混合模型。

(3)CSG法和B-rep法混合表示。从以上两种构造方式看,B-rep法强调的是形体的外表细节,详细记录了形体的所有几何和拓扑信息,具有显示速度快等优点,缺点在于不能记录产生模型的过程。而CSG法具有记录产生实体的过程,便于交、并、差运算等优点,缺点在于对物体的记录不详细。从图3-15中可以看出,两种构造方法互补,如果将它们混合在一起,可发挥各自的优点,克服各自的缺点,这就是混合模型的思想。

在混合模型中,以CSG模型表示几何造型的过程及其设计参数,用B-rep模型维护详细的几何信息进行显示、查询等操作。基于CSG法的造型,可将形状特征、参数化设计引入造型过程中的体素定义、几何变换及最终的几何造型中,而B-rep信息则为这些操作提供了几何参考或基准。CSG信息和B-rep信息相互补充,确保了几何模型的完整和正确。

图3-15 混合表示法

(4)空间位置枚举法。空间位置枚举法,也称空间单元表示法或分割法,是通过一系列由空间单元构成的图形来表示物体的一种表示方法,如图3-16所示。这些单元是有一定大小的空间立方体。在计算机内部通过定义各个单元的位置是否填充,来建立整个实体的数据结构。这种数据结构通常为四叉树或八叉树。四叉树一般用于描述二维物体,其基本思想是将平面划分为四个子平面,通过定义这些子平面的“有图形”和“无图形”来描述不同形状物体,而“部分有图形”的部分可以继续划分,直至达到子平面或为空,或为满为止。而对三维实体则需要采用八叉树,基本思路是先定义三维实体的外接立方体,并将其分割成八个子立方体,依次判断每个子立方体。若为空,则表示无实体填充;若为满,则表示有实体充满;若部分有实体填充,将该立方体继续分解,使所有的子立方体为空或为满,直到达到给定的精度为止。

图3-16 空间单元表示法

空间位置枚举法是一种数字化的近似表示法,单元的大小直接影响到模型的分辨率,特别是对于曲线或曲面,精度越高,单元数目就越大。因此,空间位置枚举法要求有大量的存储空间。但是,它不能表达一个物体任意两部分之间的关系,也没有关于点、线、面的概念,仅仅是一种空间的近似。可是从另一方面讲,它的算法比较简单,同时也是物性计算和有限元网格划分的基础。

空间位置枚举法的最大优点是便于作出局部修改及进行集合运算。在集合运算时,只要同时遍历两个拼合体的四叉树或八叉树,对相应的小立方体进行布尔组合运算即可。另外,八叉树数据结构可大大简化消隐算法,因为各类消隐算法的核心是排序;采用八叉树法最大的缺点是占用存储空间大,但由于八叉树结构能表示现实世界物体的复杂性,近年来日益受到人们的重视。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈