计算机图形学基础-图形的表示和数据结构

三维形体的表示

线框模型

早期,由定义一个物体的直线和曲面组成

(二义性、无效形体,曲面表示困难,无法进行线面消隐等)

边界表示:用平面&曲面表示;

构造实体几何:基本体素的交并差;

空间分割:空间区域划分成连续非重叠实体。

边界表示法 BR

多边形表面模型:用一组包围物体内部的多边形表示。

1.数据结构

正确存储多边形的集合&拓扑&属性信息

几何信息

顶点表、包含指向顶点表指针的边表、包含指向边表指针的多边形表

示例:

计算机图形学基础-图形的表示和数据结构_第1张图片计算机图形学基础-图形的表示和数据结构_第2张图片

平面的方向

通常约定法向量指向平面外侧。多边形顶点序列指定为逆时针方向时,法向量方向满足右手定则

拓扑信息

几何信息+额外信息 = 拓扑信息

将边表扩充成包含指向面表和顶点表的指针,构造出翼边结构

计算机图形学基础-图形的表示和数据结构_第3张图片

对于不同的面,中间的边V1V2的表示不同。用右手表示,面在边的左侧,端点从内向外;对于面F1,记为边V2V1;对于面F2,记为V1V2.

属性信息:

2.多边形网格:

多为三角形带或四边形网格

优点:精确实用,适用于多种工具和算法

缺点:表示拓扑关系数据结构较复杂,无法计算空间容积等

扫描表示

沿路径扫描,利用运动规则生成实体;作扫描运动的基本图形和运动方式

表示简单,但是需要时间

构造实体几何法

简单实体的交并差操作

该方法的集合运算实现过程可用二叉树(CSG树)表示

叶子:基本体素或形体变换参数

非终端节点:正则集合运算或变换操作

根节点:最后构造出的实体

计算机图形学基础-图形的表示和数据结构_第4张图片

优点:构造出多种满足不同需要的实体

缺点:求交困难,且不能显式表示形体边界(解决:光线投射算法)

光线投射算法:

①射线与每个基本体素相交,求交点

②交点相对于CSG树表示的物体进行分类,确定位于边界上的部分交点

③计算参数值并排序,确定最近的交点,得到其所在基本体素表面的法矢量

空间位置枚举

将包含实体的空间分割成小体素,以体素的集合来表示图形对象

简单易理解,容易进行集合、体积运算;存储容量大,且没有边界信息不利于显示。

八叉树(分层树)

对空间自适应划分,是一般的空间位置枚举法的改进

简单来说,没有实体的部分忽略,停止分割;

完全是实体的部分全部计入,不再分割;

部分是实体的部分继续分割。

计算机图形学基础-图形的表示和数据结构_第5张图片

二维平面图形的四叉树类似:

 计算机图形学基础-图形的表示和数据结构_第6张图片

BSP树

二叉空间分割;每次将一实体任一位置和任一方向的平面分为二部分

非规则对象的表示

分形几何

使用过程对具有不规则几何形态的物体(如自然景物)建模

无限自相似性:物体的整体和局部之间细节的无限重现

两个描述要点:分形维数(分数维数)和生成过程(初始生成元、生成元)

分形维数:分形物体的细节变化。物体粗糙性或细碎性的度量。

M=B^d 其中B指放大倍数,M是总个数,d相当于对象的维数。 

d=logM/logB

其中指数d相当于维数。

欧式几何便于使用方程来描述由平滑表面和规则形状的物体;

分形几何适用于例如自然景物等的不规则几何形态物体建模。

奠基人B.B.Mandelbrot 

周长无穷,但面积为定值

分形物体的细节变化用分形维数(分数维)表示

维数:整数或分数

计算机图形学基础-图形的表示和数据结构_第7张图片

较普遍的定义:

精细的结构 不规则 自相似的性质 某种定义之下的分形维数大于它的拓扑维数 由迭代过程产生

随机插值模型 

随机过程的采样路径来作为构造的手段,例如海岸线、山峰等

迭代函数系统  

若干个收缩仿射变换的组合;用于自然景物模拟/分形图像压缩

即使不改变迭代规则,采用同样的程序 ,只改变参数也可以生成完全不同的植物形态。

L系统 

有效给出植物的拓扑结构

粒子系统

擅长模拟不规则物体的随机动态特性;本质:随机模型

复平面上的迭代

超Julia集

其他

基于物理的建模

物体在内外力相互作用下的行为;网格结点-柔性连接-贯穿物体网格的力传递

数据场的可视化

图形层次结构:段和层次建模

图形的层次结构

段:有逻辑意义的有限图案或者体素及其附加属性的集合称为段,或称为图段、结构和对象

可嵌套 利用规则来描述的 可见、醒目、可选择性 存储简单、编辑简单

———————————2021-11-06-20:58——————————

你可能感兴趣的:(数据结构,图形学,几何学)