基本图形元素与段的概念 客观世界的图形对象非常复杂,为了能用计算机来处理图形,就要对图形对象进行分解与综合。 1.图素和体素
在二维图形系统中将基本图形元素称为图素或图元,而在三维图形系统中称为体素。
图素是指可以用一定的几何参数和属性参数描述的最基本的图形输出元素,包括点、线、圆、圆弧、椭圆、二次曲线等。体素的定义相对复杂一些,是三维空间中可以用有限个尺寸参数定位和定形的体,常有三种定义形式:
(1)从实际形体中选择出来,可用一些确定的尺寸参数控制其最终位置和形状的一组单元实体,如长方体、圆柱体、圆锥体、圆环体、球体等。
(2)由参数定义的一条(或一组)轮廓线沿一条(或一组)空间参数曲线作扫描运动而产生的形体。
(3)用代数半空间定义的形体,在此半空间中点集可定义为:{(x,y,z)|f(x,y,z)≤0}此处的f应是不可约多项式,多项式系数可以是形状参数,半空间定义法只适用正则形体。 2. 图段
(1)段的定义
段是指具有逻辑意义的有限个图素(或体素)及其附加属性的集合,也称为图段(二维空间中)、结构和对象。段是用基本图素或体素按一定的结构规则形成的。
段可以嵌套,即可以用段形成更复杂的段。如下图所示的逻辑电路例子,由线段、字符、数字等各种图元组成了一个R-S触发器。 (2)段的特性
图素或体素是用数据来描述的,而段是用规则来描述的。段一般具有三个特性:可见性、醒目性、可选择性(可由一个交互式输入设备来选择)。 (3)段的操作
通常的软件包中对段可实行这样一些操作:创建段、标识段、删除段、显示输出段、设置段的属性、编辑段、插入图素或体素、删除图素或体素、更改图素或体素、标识图素或体素、段的拷贝和复用等。 几何信息与拓扑信息 对图形对象的描述主要用大量的图形信息和非图形信息。图形对象及构成它的点、线、面的位置、相互间关系和几何尺寸等都是图形信息;表示图形对象的线型、颜色、亮度以及供模拟、分析用的质量、比重、体积等数据,是有关对象的非图形信息。其中,图形信息又包括几何信息和拓扑信息。 1. 几何信息:形体在欧氏空间中的位置和大小。
(1)几何分量的数学表示
点:(x, y, z)
直线:x=(y-y0)/a=(z-z0)/b
平面:ax+by+cz+b=0
二次曲面:Q(x, y, z)=Ax2+By2+Cz2+Dxy+Eyz+Fzx+Gx+Hy+Iz+J=0 (2)几何分量之间的相互关系
形体的几何分量之间的相互关系如下图所示。形体的几何分量之间可以相互导出。 2. 拓扑信息:形体各分量(点、边、面)的数目及其相互间的连接关系。
平面立体的几何分量之间一共有九种拓扑关系,如下图所示。 刚体运动:不改变图形上任意两点间的距离,也不改变图形的几何性质的运动。
拓扑运动:对图形可随意地伸张扭曲,但图上各个点仍为不同的点,不允许把不同的点合并成一个点。
拓扑等价:如果一个图形作弹性运动可使之与另一图形重合,则这两个图形 是拓扑等价的。
拓扑性质:一个图形的拓扑性质就是那些与该图拓扑等价的图形所具有的性质。 坐标系 常用的坐标系如下图所示。 1.建模坐标系:又称造型坐标系,用来定义基本图素或图段。
2.用户坐标系:也称世界坐标系用于定义用户整图或最高层图形结构。
3.观察坐标系:主要用于指定裁减空间,确定形体的哪一部分要显示输出或通过定义观察平面,把三维形体的用户坐标变换成规格化的设备坐标。
4.规格化设备坐标系:用来定义视图区,其取值范围一般约定为(0.0, 0.0, 0.0)到(1.0, 1.0, 1.0)。
5.设备坐标系:设备坐标系是图形输入输出设备的坐标系。 几何元素 1.点:点是0维几何分量,包括端点、交点、切点和孤立点等。
2.线:线是一维几何元素,是两个或多个邻面的交界。
3.面:面是二维几何元素,是形体上一个有限、非零的区域,由一个外环和若干个内环界定其范围。
4.环:环是有序、有向边(直线段或曲线段)组成的面的封闭边界。环中的边不能相交,相邻两条边共享一个端点。确定面的最大外边界的环称之为外环;确定面中内孔或凸台边界的环称之为内环。通常,外环的边按逆时针方向排序,而内环的边按顺时针方向排序,这样在面上沿一个环前进,其左侧总是面内,右侧总是面外。
5.体:体是三维几何元素,由封闭表面围成空间,也是欧氏空间R3中非空、有界的封闭子集,其边界是有限面 实体的定义 由于数学中的点、线、面是其所代表的真实世界中的对象的一种抽象,他们之间存在着一定的差距,使得在计算机中以数学方法描述的形体可能是无效的。 1.客观存在的三维形体的性质
客观存在的三维形体具有刚性、维数的一致性、占据有限的空间、边界的确定性以及封闭性。 2.物体表面的性质
根据客观存在的三维形体的性质,三维空间中的物体是一个内部连通的三维点集,也就是由其内部的点集及紧紧包着这些点的表皮组成。而物体的表皮具有连通性、有界性、非自相交性、可定向性、闭合性等性质 。 3.正则集
点的领域:如果P是点集S的一个元素,那么点P的以R(R>0)为半径的领域指的是围绕点P的半径为R的小球(二维情况下为小圆)。
开集的闭包:是指该开集与其所有边界点的集合并集,本身是一个闭集。
正则集:由内部点构成的点集的闭包就是正则集,三维空间的正则集就是正则形体。
组成三维物体的点的集合可以分为两类:内点为点集中具有完全包含于该点集的充分小的领域的点;不具备此性质的点集中的点称为边界点。
定义点集的正则运算r运算为:先对物体取内点再取闭包的运算。r·A称为A的正则集。 4.二维流形性质
尽管正则形体可以描述三维有效形体,但不是所有的正则形体都是实体模型的描述对象,如下图所示。 二维流形指的是对于实体表面上的任意一点,都可以找到一个围绕着它的任意小的领域,该领域与平面上的一个圆盘是拓扑等价的。 5.实体的定义
实体的定义是对于一个占据有限空间的正则形体,如果其表面是二维流形,则该正则形体为实体。该定义条件可检测 正则集合运算 有效实体具有封闭性,一个有效实体经过一系列集合运算之后仍然是有效实体。普通的集合运算不能满足此要求,如下图所示。我们把能够产生正则形体的集合运算称为正则集合运算。 正则集合运算的方法有两种。 1.间接方式:基于点集拓扑的领域概念 。
点的领域,即集合S在点P附近的局部几何性质:当且仅当P的领域为满时,P在S之内;当且仅当P的领域为空时,P在S之外;当且仅当P的领域既不满也不空时,P在S的边界上。
根据点的性质可以判断该点所在边的性质,从而去掉孤立边,得到正则形体。如下图所示,在结果图形上取点P和R,点P在集合A、B上的领域为PA和PB,点R在集合A、B上的领域为RA和RB,PA和PB的交集为空,因而P点不在A正则交B的结果中;RA和RB的交集不为空,因而R点在A正则交B的结果中,这样就去掉了孤立的边。 2.直接方式:建立在集合成员的分类基础上 。
在三维空间中,给定一个正则形体S,空间点集被分为三个子集:
(1)S的内部点集:i.s;
(2)S的边界点集:b.s;
(3)S之外的点集。 分类函数:若给定一个正则形体S及一个有界面G,则G相对于S的分类函数可为: C(S,G)={G in S, G out S, G on S}
其中,用-G表示有界面G的反向面。即如果有界面G在P点的法向为NP(G),则有界面-G在P点的法向就是-NP(G)。于是有: G on S={G shared (b·S), G shared (-b·S)} 正则集合算子:定义三个正则集合算子关于边界面的表达式 平面多面体与欧拉公式 平面多面体是表面由平面多边形构成的三维物体。简单多面体指与球拓扑等价的那些多面体。欧拉公式证明简单多面体的顶点数V、边数E和面数F满足如下关系:V-E+F=2。 对于非简单多面体,令H表示多面体表面上孔的个数,G表示贯穿多面体的孔的个数,C表示独立的、不相连接的多面体数,则扩展后的欧拉公式为:V-E+F-H=2(C-G)。例如在下图中,V=24,E=36,F=15,H=3,C=1,G=1。 |