第四章 图形的表示与数据结构
如何在计算机中建立恰当的模型表示不同图形对象。
如何组织图形对象的描述数据以使存储这些数据所要的空间最省,检索、处理这些数据的速度较快。
基本概念——几何信息与拓扑信息
刚体运动:不改变图形上任意两点间的距离,也不改变图形的几何性质的运动。
拓扑运动:允许形体作弹性运动,即在拓扑关系中,对图形可随意地伸张扭曲。但图上各个点仍为不同的点,决不允许把不同的点合并成一个点。
基本概念——坐标系
建模坐标系(Modeling Coordinate System)
用户坐标系
观察坐标系(Viewing Coordinate System)
规格化设备坐标系(Normalized Device coordinate System)
设备坐标系(Device Coordinate System)
基本概念-实体
点的领域:如果P是点集S的一个元素,那么点P的以R(R>0)为半径的领域指的是围绕点P的半径为R的小球(二维情况下为小圆)。
开集的闭包:是指该开集与其所有边界点的集合并集,本身是一个闭集。
正则集:由内部点构成的点集的闭包就是正则集,三维空间的正则集就是正则形体。
组成三维物体的点的集合可以分为两类:
内点为点集中的这样一些点,它们具有完全包含于该点集的充分小的领域。
边界点:不具备此性质的点集中的点。
二维流形指的是对于实体表面上的任意一点,都可以找到一个围绕着它的任意小的领域,该领域与平面上的一个圆盘是拓扑等价的。
实体:对于一个占据有限空间的正则形体,如果其表面是二维流形,则该正则形体为实体。
基本概念——正则集合运算
有效实体的封闭性。
把能够产生正则形体的集合运算称为正则集合运算。
基本概念——平面多面体与欧拉公式
欧拉公式证明简单多面体的顶点数V、边数E和面数F满足如下关系:V-E+F=2。
非简单多面体需对欧拉公式加以扩展。令H表示多面体表面上孔的个数,G表示贯穿多面体的孔的个数,C表示独立的、不相连接的多面体数,则扩展后的欧拉公式为:V-E+F-H=2(C-G)。
4.2 三维形体的表示
线框模型与实体模型(实体造型技术)
可以将实体模型的表示大致分为三类:
边界表示(Boundary representation, B-reps)
构造实体几何表示
空间分割(Space-partitioning)表示
多边形表面模型:
边界表示(B-reps)的最普遍方式是多边形表面模型,它使用一组包围物体内部的平面多边形,也即平面多面体,来描述实体。
多边形表面模型——数据结构
几何信息:
建立3张表:顶点表、边表和多边形表来存储几何数据。
实体模型中,用多边形顶点坐标值以及多边形所在平面方程方式保存实体单个表面部分的空间方向信息
拓扑信息:翼边结构表示(Winged Edges Structure)
属性信息:用属性表来存储多边形面的属性,指明物体透明度及表面反射度的参数和纹理特征等等。
多边形网格:三维形体的边界通常用多边形网格(polygon mesh)的拼接来模拟。
扫描表示:
扫描表示法(sweep representation)可以利用简单的运动规则生成有效实体。