赞
踩
分为显式(Explicit)和隐式(Implicit)。
隐式几何的表现形式:
不会告诉你几何体上的点在哪,而是把几何体上点的关系告诉你。
基于对点进行归类,找到满足特定关系的点。更通用的表示,f(x,y,z) = 0
优点:
缺点:
通过一系列基本几何的基本布尔运算来定义新的几何。
距离函数:对于任何一个几何,不描述它的表面,而去描述空间中点到各个几何物体表面的最近距离,这个距离可以是正or负(Signed Distance 有向距离),后对于各个几何物体的距离函数进行运算,就可以得到blend融合后的距离函数。
例子:混合一个移动的边界
通过blend两个SDF可以得到移动后的边界。
分别求出两个物体对应的距离函数, 然后把他们blend起来,可以获得由1/3到2/3移动的中间状态,一半白一半黑,边界是SDF=0.
分别计算出圆形和正方形的距离函数,输出的的面为SDF=0
封闭形式的方程很难描述复杂的形状,所以选择一种替代方案:存储一个值近似函数的网格(可以是二维的也可以是三维的)
水平集可以理解为SDF的一种特殊状态,即表述方式不一样(SDF对于空间中的点有具体的定义,通过函数表示。而水平集则是对空间进行线性插值(格子)去近似得到一个函数曲线)。水平集通过对于每个点在定义好的格子上进行线性插值,得到每一个格子的具体函数值,找出所有f(x)=0的点的曲线。
通过找到插值为0的位置来找到表面,它具有一个对形状更加显示的控制。
例子:
如果有一个三维的纹理表示人体不同位置的骨密度,可以让密度函数=某个具体的值,然后找到所有满足这个等式的位置,就可以得到一个表面。
等高线图:
水花 = 空间中所有的水滴融合的结果
分形又有自相似的意思,自己的部分和整体很像(有点像递归),例子有雪花(不断的六边形)、下面的西兰花等。
显式几何也有很多种表示方法,例如三角形面、贝塞尔曲面、细分曲面、NURBS、点云等。
优点:对于表示形状很容易。
有点:难以判断点是否在表面上(或内、外)。
例如obj模型:
把空间中的所有顶点的坐标、法线、纹理坐标等信息记录下来,然后再把它们组合起来(存储在文本中)。
如下图表示了一个立方体
用一系列的控制点来定义某一条曲线。这些控制点使用切线来定义贝塞尔曲线。
使用线性插值插入点,分别在b0b1,b1b2以t/1-t的比例插入一个点。
将新得到两个点连接,以相同的方式插入第三个点。
对于[0,1]所有的时间t采用这种算法,最终获得曲线。
如果有n+1个控制点(从0开始编号),可以得到n阶的贝塞尔曲线。
贝塞尔曲线代数实际上是排列组合的公式。
凸包:能够包围几何形体的最小的凸多边形。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。