46
几几几 几几几 (3)

几何物体的表示 (3)

Embed Size (px)

DESCRIPTION

几何物体的表示 (3). 几何物体的表示. 隐式曲面 细分曲面 物体的 CSG 树表示 自然景物表示方法. 几何物体的表示. 隐式曲面 细分曲面 物体的 CSG 树表示 自然景物表示方法. 隐式曲面. R 3 中的 隐式曲面表示为: { ( x , y , z )  R 3 : f ( x , y , z )=0 } 三维空间中的一个二维曲面 ( 二维流形 ) f ( x , y , z ) 称为隐式函数:数学表达式或过程定义的函数 当 f ( x , y , z ) 为多项式函数时,隐式曲面称为代数曲面. 隐式曲面举例. - PowerPoint PPT Presentation

Citation preview

Page 1: 几何物体的表示 (3)

几何物体的表示 (3)

Page 2: 几何物体的表示 (3)

2

几何物体的表示

隐式曲面细分曲面物体的 CSG 树表示自然景物表示方法

Page 3: 几何物体的表示 (3)

3

几何物体的表示

隐式曲面细分曲面物体的 CSG 树表示自然景物表示方法

Page 4: 几何物体的表示 (3)

4

隐式曲面

R3 中的隐式曲面表示为:

{(x,y,z)R3: f (x,y,z)=0}

三维空间中的一个二维曲面 ( 二维流形 )

f (x,y,z) 称为隐式函数:数学表达式或过程定义的函数

当 f (x,y,z) 为多项式函数时,隐式曲面称为代数曲面

Page 5: 几何物体的表示 (3)

5

隐式曲面举例

球面: x2 + y2 + z2 = 1

圆柱面: x2 + y2 = 1

Page 6: 几何物体的表示 (3)

6

隐式曲面与参数曲面的比较

与参数曲面相比,隐式曲面的优点隐式曲面可以表示具有复杂拓扑的形状

NURBS 曲面只能表示拓扑等价于矩形的四边曲面

NURBS 曲面表示非退化封闭光滑曲面时,需要光滑拼接

隐式曲面比 NURBS 曲面更适合于进行布尔运算、光线跟踪、点集判断等

Page 7: 几何物体的表示 (3)

7

隐式曲面与参数曲面的比较与参数曲面相比,隐式曲面的不足

隐式曲面表示不直观,难以进行外形的交互修改。 NURBS 曲面的外形控制手段非常直观

隐式曲面通常没有边界,而 NURBS 曲面具有显式的边界

隐式曲面难以直接进行显示,而 NURBS 曲面则可以借助于剖分算法,对逼近多边形表示进行绘制

Page 8: 几何物体的表示 (3)

8

隐式曲面与参数曲面的相互转化

隐式化:从参数曲面到隐式曲面消除 NURBS 曲面的两个参数 (u,v) 得到其隐

式表示参数化:从隐式曲面到参数曲面

并非所有的隐式曲面都可以参数化对于非退化的二次代数曲面和具有一个奇异

点的三次代数曲面,可以进行有理多项式参数化

Page 9: 几何物体的表示 (3)

9

图形学中常用的隐式曲面造型技术

基于骨架的隐式曲面造型基于点、线和面骨架的 Metaball 方法基于骨架的卷积曲面

基于点骨架的Metaball 造型

基于点、直线混合骨架的 Metaball 造型

Page 10: 几何物体的表示 (3)

10

图形学中常用的隐式曲面造型技术

代数曲面片造型技术,包括二次代数曲面、A-Patch 方法等

代数曲面片造型

Page 11: 几何物体的表示 (3)

11

隐式曲面的显示 多边形化:用平面多边形逼近隐式曲

面, Marching Cube 方法 光线跟踪:生成高质量的图像 粒子系统:在隐式曲面上均匀布撒粒子

多边形化 光线投射 粒子系统

Page 12: 几何物体的表示 (3)

12

几何物体的表示

隐式曲面细分曲面物体的 CSG 树表示自然景物表示方法

Page 13: 几何物体的表示 (3)

13

细分曲面

Chaikin 算法 (1974) :均匀二次 B- 样条曲曲线的离散生成输入多边形折线每次在边的 1:3 和 3:1 处生成两个新顶点,

按规律连接新生成的顶点极限曲线为均匀二次 B- 样条曲线

Page 14: 几何物体的表示 (3)

14

Chaikin 算法举例

Chaikin 算法示意图 Chaikin 算法动态示意图

Page 15: 几何物体的表示 (3)

15

Doo-Sabin 细分曲面

Donald Doo 和 Malcolm Sabin 推广了Chaikin 算法由二次 B- 样条曲线推广到二次 B- 样条曲面输入为一个多边形面片,经过重复的剖分,

生成光滑的极限曲面

Page 16: 几何物体的表示 (3)

16

Doo-Sabin 细分曲面的生成规则

面点 (face point) :面的顶点的平均

边点 (edge point) :边的中点

新顶点 (new Vertex) :对每个面的每一个顶点,计算面点、两个边点和原有顶点的平均 Doo-Sabin 细分曲面生成

的各类顶点

Page 17: 几何物体的表示 (3)

17

Doo-Sabin 细分曲面新顶点连接

初始多边形及生成的新顶点 对于每个面,连接生成的新顶点

对于每个老顶点,连接与之相邻的新顶点 对于每条边,连接与该边相邻的两个面上的对应新顶点

Page 18: 几何物体的表示 (3)

18

细分曲面实例

Doo-Sabin 细分曲面 Catmull-Clark 细分曲面

Page 19: 几何物体的表示 (3)

19

其它类型细分曲面Catmull-Clark 细分曲面 ( 双三次 B- 样条曲

面 )

Loop 细分曲面 ( 六次三角样条曲面 )

Loop 细分曲面实例

Page 20: 几何物体的表示 (3)

20

细分曲面的优势与不足

优势极限曲面 C1 或 C2 连续的光滑曲面可以表示任意拓扑适合于动画造型、快速显示

不足奇异点处没有解析表达,难以计算微分量难以精确控制其外形难以构造高阶光滑曲面

Page 21: 几何物体的表示 (3)

21

更多的细分曲面实例

Page 22: 几何物体的表示 (3)

22

几何物体的表示

隐式曲面细分曲面物体的 CSG 树表示自然景物表示方法

Page 23: 几何物体的表示 (3)

23

物体的 CSG 树表示

CSG : Constructive Solid Geometry

表示实体:即有边界,也包含内部表示边界:多边形、参数曲面、隐式曲面、

细分曲面

CSG 树表示:面向浇铸、加工或拉伸等CAD/CAM 过程

Page 24: 几何物体的表示 (3)

24

物体的 CSG 树表示

CSG 树:通过一系列几何操作将简单的基本体素组合起来 基本体素:立方体、球、圆柱、圆锥等 几何操作

布尔运算:并、交、差、补等 几何变换:平移、旋转、放缩、剪切等

CSG 树:含有丰富的造型信息 物体生成过程 物体表示

Page 25: 几何物体的表示 (3)

25

一个 CSG 树表示的实例

立方体立方体

圆柱体

Page 26: 几何物体的表示 (3)

26

物体的 CSG 树表示的分析

CSG 树的缺点绘制耗时限制了物体外形的修改

改进:混合表示将边界表示和布尔运算结合起来,形成一种

界与边界表示和 CSG 实体表示之间的混合表示

Page 27: 几何物体的表示 (3)

27

几何物体的表示

隐式曲面细分曲面物体的 CSG 树表示自然景物表示方法

Page 28: 几何物体的表示 (3)

28

自然景物表示方法

自然景物的模拟是图形学中最具挑战性的问题之一山、树木、花草、火焰、云、烟、流体等

目前三种常用方法分形基于语法规则的 L- 系统粒子系统

Page 29: 几何物体的表示 (3)

29

分形

分形 (Fractal) 的主要特征 :自相似性质:分形物体的任何一个部分都和

物体整体具有某种程度的相似 无限小细节性质:当无限地放大分形物体时,

物体总是表现有细节,而不是像欧氏空间的物体一样最终会表现出光滑性

维数非整数

Page 30: 几何物体的表示 (3)

30

分形举例: Koch雪花曲线

Koch雪花曲线 中间曲线的每一个线

段被 1/3大小的原始曲线所替代

后续的曲线又是中间曲线的一种缩小后的替代

Page 31: 几何物体的表示 (3)

31

基于分形方法生成山 一维情形:线段位于 x-轴,将线段在中点剖分,

并将中点沿 y 方向移动一段距离,如此不断地剖分并且移动新得到的中点 记 (xi, yi) 、 (xi+1, yi+1) 为直线段的两个端点,则剖分后新

生成的点 (xnew, ynew) 为:

Random(•) 为 [0, 1] 之间的随机数, P(•) 为一个控制随机量大小的函数,例如在第 s步剖分中, P(s)=2-s

1

1( )

2new i ix x x

1 1

1( ) P( )Random( )

2new i i i i newy y y x x x

Page 32: 几何物体的表示 (3)

32

基于分形方法生成山:一维实例

(a)在 x-轴上的直线段

(b)直线段的中点沿 y 方向移动一个随机量

(c) 进一步迭代的结果

Page 33: 几何物体的表示 (3)

33

基于分形方法生成山

二维情形

三角片被剖分为四个小三角形,每条边的中点沿 y 方向进行扰动

Page 34: 几何物体的表示 (3)

34

基于分形方法生成山的实例

Page 35: 几何物体的表示 (3)

35

L- 系统:植物建模

L- 系统语法规则:通过对所给字符根据语法规则的迭代生成新的字符串,每次迭代结果称为一代

字符解释:将字符串中的字符解释为适当的几何体素,就可以得到一个基于语法规则生成的物体

L- 系统成功地用于植物建模

Page 36: 几何物体的表示 (3)

36

一个 L- 系统实例 字符集:“ A”, “B”, “[” “]”, “(”, “)”

语法规则: A→AA; B→A[B]AA(B) 迭代两次

B A[B]AA(B) AA[A[B]AA(B)]AAAA(A[B]AA(B))

字符解释:“ A” 表示一个主干,“ B” 表示一个分支,“ []” 表示分支向左 45° ,“ ()”表示分支向右 45°

Page 37: 几何物体的表示 (3)

37

一个 L- 系统实例的图示

(a) 初始字符 (b) 一代结果 (c) 二代结果

Page 38: 几何物体的表示 (3)

38

基于 L- 系统的植物建模实例

Page 39: 几何物体的表示 (3)

39

L- 系统:植物建模

在 L- 系统中引入更多控制不同“代”之中的字符的不同解释

(n+1) 代的树枝要比 n- 代的树枝细一些、短一些

终止节点处赋予树叶和花朵

通过设计不同的语法规则和字符解释集,可以构造出各种美丽的树木和花草

Page 40: 几何物体的表示 (3)

40

基于 L- 系统生成的花与树木

Page 41: 几何物体的表示 (3)

41

粒子系统

粒子系统由一组随时间变化的粒子组成粒子的变化由某种随机统计规律控制粒子有生命:产生、发展(运动)、消亡按照确定或随机运动规律进行运动

模拟火、雾、烟、焰火等外形随时间的变化而变动的模糊物体

Page 42: 几何物体的表示 (3)

42

粒子系统一般性描述 粒子系统是一个动态变化的系统,生成

其中每一瞬间画面的步骤

1. 产生新的粒子并加入系统中

2. 赋予每一个新粒子一定的属性

3. 删除那些已经超过其生命周期的粒子

4. 根据粒子运动属性对粒子进行移动和变换5. 绘制并显示出所有有生命粒子组成的画面

Page 43: 几何物体的表示 (3)

43

基于粒子系统的火焰与瀑布

粒子系统生成的火焰 粒子系统生成的瀑布

Page 44: 几何物体的表示 (3)

44

自然景物造型

用其它方法可以模拟波浪、云和大气、湍流、布料等等。共同的特点:专用性

自然景物的模拟仍然是计算机图形学中最富有挑战性的研究课题

Page 45: 几何物体的表示 (3)

45

一个在计算机中生成的复杂场景

Page 46: 几何物体的表示 (3)

46

小结

隐式曲面: Metaball 、代数曲面细分曲面: Doo-Sabin 、 Catmull-Clark物体的 CSG 树表示自然景物表示方法

分形L- 系统粒子系统