1 / 46

几何物体的表示 (3)

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

Download Presentation

几何物体的表示 (3)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 几何物体的表示(3)

  2. 几何物体的表示 • 隐式曲面 • 细分曲面 • 物体的CSG树表示 • 自然景物表示方法

  3. 几何物体的表示 • 隐式曲面 • 细分曲面 • 物体的CSG树表示 • 自然景物表示方法

  4. 隐式曲面 • R3中的隐式曲面表示为: {(x,y,z)R3: f (x,y,z)=0} • 三维空间中的一个二维曲面(二维流形) • f (x,y,z)称为隐式函数:数学表达式或过程定义的函数 • 当f (x,y,z)为多项式函数时,隐式曲面称为代数曲面

  5. 隐式曲面举例 • 球面:x2 + y2 + z2 = 1 • 圆柱面:x2 + y2 = 1

  6. 隐式曲面与参数曲面的比较 • 与参数曲面相比,隐式曲面的优点 • 隐式曲面可以表示具有复杂拓扑的形状 • NURBS曲面只能表示拓扑等价于矩形的四边曲面 • NURBS曲面表示非退化封闭光滑曲面时,需要光滑拼接 • 隐式曲面比NURBS曲面更适合于进行布尔运算、光线跟踪、点集判断等

  7. 隐式曲面与参数曲面的比较 • 与参数曲面相比,隐式曲面的不足 • 隐式曲面表示不直观,难以进行外形的交互修改。NURBS曲面的外形控制手段非常直观 • 隐式曲面通常没有边界,而NURBS曲面具有显式的边界 • 隐式曲面难以直接进行显示,而NURBS曲面则可以借助于剖分算法,对逼近多边形表示进行绘制

  8. 隐式曲面与参数曲面的相互转化 • 隐式化:从参数曲面到隐式曲面 • 消除NURBS曲面的两个参数(u,v)得到其隐式表示 • 参数化:从隐式曲面到参数曲面 • 并非所有的隐式曲面都可以参数化 • 对于非退化的二次代数曲面和具有一个奇异点的三次代数曲面,可以进行有理多项式参数化

  9. 图形学中常用的隐式曲面造型技术 • 基于骨架的隐式曲面造型 • 基于点、线和面骨架的Metaball方法 • 基于骨架的卷积曲面 基于点骨架的Metaball造型 基于点、直线混合骨架的Metaball造型

  10. 图形学中常用的隐式曲面造型技术 • 代数曲面片造型技术,包括二次代数曲面、A-Patch方法等 代数曲面片造型

  11. 隐式曲面的显示 • 多边形化:用平面多边形逼近隐式曲面,Marching Cube方法 • 光线跟踪:生成高质量的图像 • 粒子系统:在隐式曲面上均匀布撒粒子 多边形化 光线投射 粒子系统

  12. 几何物体的表示 • 隐式曲面 • 细分曲面 • 物体的CSG树表示 • 自然景物表示方法

  13. 细分曲面 • Chaikin算法(1974):均匀二次B-样条曲曲线的离散生成 • 输入多边形折线 • 每次在边的1:3和3:1处生成两个新顶点,按规律连接新生成的顶点 • 极限曲线为均匀二次B-样条曲线

  14. Chaikin算法举例 Chaikin算法示意图 Chaikin算法动态示意图

  15. Doo-Sabin细分曲面 • Donald Doo和Malcolm Sabin推广了Chaikin 算法 • 由二次B-样条曲线推广到二次B-样条曲面 • 输入为一个多边形面片,经过重复的剖分,生成光滑的极限曲面

  16. Doo-Sabin细分曲面的生成规则 • 面点(face point):面的顶点的平均 • 边点(edge point):边的中点 • 新顶点(new Vertex):对每个面的每一个顶点,计算面点、两个边点和原有顶点的平均 Doo-Sabin细分曲面生成的各类顶点

  17. Doo-Sabin细分曲面新顶点连接 初始多边形及生成的新顶点 对于每个面,连接生成的新顶点 对于每条边,连接与该边相邻的两个面上的对应新顶点 对于每个老顶点,连接与之相邻的新顶点

  18. 细分曲面实例 Doo-Sabin细分曲面 Catmull-Clark细分曲面

  19. 其它类型细分曲面 • Catmull-Clark细分曲面(双三次B-样条曲面) • Loop细分曲面(六次三角样条曲面) Loop细分曲面实例

  20. 细分曲面的优势与不足 • 优势 • 极限曲面C1或C2连续的光滑曲面 • 可以表示任意拓扑 • 适合于动画造型、快速显示 • 不足 • 奇异点处没有解析表达,难以计算微分量 • 难以精确控制其外形 • 难以构造高阶光滑曲面

  21. 更多的细分曲面实例

  22. 几何物体的表示 • 隐式曲面 • 细分曲面 • 物体的CSG树表示 • 自然景物表示方法

  23. 物体的CSG树表示 • CSG:Constructive Solid Geometry • 表示实体:即有边界,也包含内部 • 表示边界:多边形、参数曲面、隐式曲面、细分曲面 • CSG树表示:面向浇铸、加工或拉伸等CAD/CAM过程

  24. 物体的CSG树表示 • CSG树:通过一系列几何操作将简单的基本体素组合起来 • 基本体素:立方体、球、圆柱、圆锥等 • 几何操作 • 布尔运算:并、交、差、补等 • 几何变换:平移、旋转、放缩、剪切等 • CSG树:含有丰富的造型信息 • 物体生成过程 • 物体表示

  25. 并 圆柱体 立方体 立方体 一个CSG树表示的实例

  26. 物体的CSG树表示的分析 • CSG树的缺点 • 绘制耗时 • 限制了物体外形的修改 • 改进:混合表示 • 将边界表示和布尔运算结合起来,形成一种界与边界表示和CSG实体表示之间的混合表示

  27. 几何物体的表示 • 隐式曲面 • 细分曲面 • 物体的CSG树表示 • 自然景物表示方法

  28. 自然景物表示方法 • 自然景物的模拟是图形学中最具挑战性的问题之一 • 山、树木、花草、火焰、云、烟、流体等 • 目前三种常用方法 • 分形 • 基于语法规则的L-系统 • 粒子系统

  29. 分形 • 分形(Fractal)的主要特征 : • 自相似性质:分形物体的任何一个部分都和物体整体具有某种程度的相似 • 无限小细节性质:当无限地放大分形物体时,物体总是表现有细节,而不是像欧氏空间的物体一样最终会表现出光滑性 • 维数非整数

  30. Koch雪花曲线 中间曲线的每一个线段被1/3大小的原始曲线所替代 后续的曲线又是中间曲线的一种缩小后的替代 分形举例:Koch雪花曲线

  31. 基于分形方法生成山 • 一维情形:线段位于x-轴,将线段在中点剖分,并将中点沿y方向移动一段距离,如此不断地剖分并且移动新得到的中点 • 记(xi, yi)、(xi+1, yi+1)为直线段的两个端点,则剖分后新生成的点(xnew, ynew)为: • Random(•)为[0, 1]之间的随机数,P(•)为一个控制随机量大小的函数,例如在第s步剖分中,P(s)=2-s

  32. 基于分形方法生成山:一维实例 • 在x-轴上的直线段 • 直线段的中点沿y方向移动一个随机量 • 进一步迭代的结果

  33. 基于分形方法生成山 • 二维情形 三角片被剖分为四个小三角形,每条边的中点沿y方向进行扰动

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

  35. L-系统:植物建模 • L-系统 • 语法规则:通过对所给字符根据语法规则的迭代生成新的字符串,每次迭代结果称为一代 • 字符解释:将字符串中的字符解释为适当的几何体素,就可以得到一个基于语法规则生成的物体 • L-系统成功地用于植物建模

  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°

  37. 一个L-系统实例的图示 (a) 初始字符 (b) 一代结果 (c) 二代结果

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

  39. L-系统:植物建模 • 在L-系统中引入更多控制 • 不同“代”之中的字符的不同解释 • (n+1)代的树枝要比n-代的树枝细一些、短一些 • 终止节点处赋予树叶和花朵 • 通过设计不同的语法规则和字符解释集,可以构造出各种美丽的树木和花草

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

  41. 粒子系统 • 粒子系统 • 由一组随时间变化的粒子组成 • 粒子的变化由某种随机统计规律控制 • 粒子有生命:产生、发展(运动)、消亡 • 按照确定或随机运动规律进行运动 • 模拟火、雾、烟、焰火等外形随时间的变化而变动的模糊物体

  42. 粒子系统一般性描述 • 粒子系统是一个动态变化的系统,生成其中每一瞬间画面的步骤 • 产生新的粒子并加入系统中 • 赋予每一个新粒子一定的属性 • 删除那些已经超过其生命周期的粒子 • 根据粒子运动属性对粒子进行移动和变换 • 绘制并显示出所有有生命粒子组成的画面

  43. 基于粒子系统的火焰与瀑布 粒子系统生成的火焰 粒子系统生成的瀑布

  44. 自然景物造型 • 用其它方法可以模拟波浪、云和大气、湍流、布料等等。 • 共同的特点:专用性 • 自然景物的模拟仍然是计算机图形学中最富有挑战性的研究课题

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

  46. 小结 • 隐式曲面:Metaball、代数曲面 • 细分曲面:Doo-Sabin、Catmull-Clark • 物体的CSG树表示 • 自然景物表示方法 • 分形 • L-系统 • 粒子系统

More Related