《计算机图形学》07 三维形体的表示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形成了一个三维形体。
3. 旋转扫描法:将一个二维的面绕一条母线(旋转轴)旋转, 其轨迹便形成了一个三维形体。
4. 广义扫描法:若在平移扫描的过程中可改变截面的大小
和形状,甚至改变移动的方向,便可形成复杂的三维形体。
四. 八叉树表示法 1. 基本原理 将所要表示的三维形体占据的空间分割成大小不同的立方
1.线模型 线模型表示的是物体的棱边,它全部是由点、直线或曲线组 成。 对于仅用阴影棱线就能表示形状的物体,可以采用线模型。
该模型的主要特点是结构简单,模型生成和处理容易,占用的内
存容量较小,因此成本较低。
但线模型由于仅用棱边来代表物体的形状,它只包含了三维 物体的一部分形状信息,在信息的完整性方面是不足的。因此难 以进行隐藏线消除,也不能描绘剖面图,也不可能根据它计算物 体的其它物理量(例如体积、重量等)。
H=3
C=1 G=1
24 -36 + 15 -3 = 2( 1-1 )
3. 边界表示法的数据结构
拓扑信息是边界表示法中用于表示实体边界的主要信息之一。 实体的面、边、点之间的拓扑关系有以下 9 种类型: v
v
v v
v→{v}
E v E
E
F
v →{E}
F
v F v →{F}
v
E
E →{v}
E E
E E E
E →{E}
F E
F
E →{F}
v
v
F
v v
F →{v}
v
E E F E E
F F →{E} F
F F
F
F →{F}
三. 扫描表示法 (Sweep) 1. 基本原理
空间的点、线、面沿着某一路径扫描时,所形成的轨迹可
用来定义一个一维的、二维的或三维的物体。 在三维形体表示中,主要采用平移扫描法和旋转扫描法。 2. 平移扫描法: 将一个二维的面沿着一个指定的方向平行移动,其轨迹便
3. CSG 表示法的数据结构
OP — code (操作码)
OP — code 0 primitive (基本体素) Right-subtree (右子树) 1 基本体素 求并
transform
(坐标变换) left-subtree (左子树)
2 求差
3 求交
CSG 表示法只定义了物体的构造方法— —隐式模型。
二. 边界表示法 ( Boundary Representation ) 1 . 基本原理 边界表示法是通过描述物体的边界来表示一个实体。
实体的边界面可以是平面多边形或曲面,通常情况下,曲
面最终都是被近似地离散成多边形来处理的。
v5
v1
四棱锥
v3 面节点 边节点 顶点节点 f1 f2 f3 …... e4 …... v3 …… 几何 信息 拓扑 信息
不存在悬点、悬线、悬面。
∩
A B A∩ B
A ∩* B
若空间平面方程为: f ( x , y , z ) = 0
则可定义半空间为:{ P f ( x , y , z ) ≤ 0} 或 { P f ( x , y , z ) ≥ 0}
记为 f i
任一个凸多面体 F 都可表示为一组( n个 )半空间的交: n F=∩ fi i=1 而任一个复杂形体都可表示为多个( m个 )凸多面体的并: m F = ∪ Fj j=1
3. 实体模型 实体模型是从设计到生产过程中能够连贯使用的比较理想 的模型,它与上述表面模型不同之处在于它确定了是表面的哪 一侧存在实体这个问题。 利用实体模型不仅能表示模型的颜色,而且还能进行阴影
处理,并可对主要的特征如重量、力矩等进行定量的计算。
7.2 实体的表示方法
一 . 构造实体几何表示法 (Constructive Solid Geometry) 该方法简称 CSG 方法。
表示,则:
V-E+F=2
V=8
E = 12
F=6
对于非简单多面体则应满足广义欧拉公式: V - E + F - H = 2( C - G ) 其中 V 、E 、F 的含义与前相同;
H 表示多面体表面上孔的个数;
C 表示独立的不相连接的多面体的个数; G 表示贯穿多面体的孔的个数。
V = 24
E = 36 F = 15
第七章 三维形体的表示
7.1 常用的几何模型
计算机图形处理之前,首先要做的是将物体或场景模型化, 也就是通过分析研究,将三维形体模型化,形成定量的描述;再 将这些描述的信息以数字化的形式送入计算机,经过计算机处理 后显示出相应的图形。
物体或场景的模型化通常是采用几何模型的形式来表示。常
用的几何模型有以下三种:
2.表面模型 把线模型中棱线包围的部分定义为面,所形成的模型就是表 面模型。
采用表面模型,物体的边界确实可以全部定义,但是物体的
实心部分在边界的哪一侧是不明确的,因为它只定义了单个的 表面块,而且由于它们没有被结合在一起,所以边界面不能明 确地定义其所包围的实心部分,使设计者对物体缺乏整体的概 念。
1. 基本原理
任何三维形体都可由一些基本体素通过集合运算的方法来 构造。 常用的基本体素有:长方体、圆柱体、圆锥体、圆台体、 环、球等。 采用的集合运算是:并、交、差。
-*
U*
Hale Waihona Puke Baidu
构造结果得到一棵 表示物体的二叉树
2.正则化集合运算 采用 CSG 方法构造出来的三维形体应该是一个正则点集, 即:具有一定的形状;具有确定的封闭边界;占据有限的空间;
体网格,并用这样一个立方体序列来描述实体。
2. 表示方法 z
F
F
P
F
E E
F
F E
F
E E
P F
F
E
P F
E
E E
E
E E
y
E
x
F (FULL) E (EMPTY) P (PARTIAL)
充满 无关 相交
3. 数据结构 1 2 3 4 5 6 7 8 9 10
其中:1——节点标志域 2——指向父节点的指针。若为根节点时,该域为0。 3~10——指向八个子节点的指针。若为终端节点时,
v4
f1 e3 e 2 e1 v2
e1 e2 e3 v1 v2
(x1,y1,z1) (…) (…)
2. 多面体及欧拉( Euler )公式
组成平面多面体的基本元素是:顶点、棱边和面。
一个实体的表面必须满足闭合性,即构成实体的基本元素 之间必须满足一定的条件,其简单的检验方法就是欧拉公式。 设简单平面多面体的顶点数、 棱边数和面数分别用V 、 E 、 F来
这些域的状态为空。 八叉树表示的特点: ① 定义形式简单。 ② 易于实现物体间的集合运算(并、交、差)。 ③ 可简化消隐算法,便于计算物体的体积、质量等。 ④ 存储量大。 改进:线性八叉树,前例可表示为 : {1,2,3,4,51,53,55,565,566},