【GAMES101笔记速查——Lecture 10 Geometry1(Introduction) 】

目录

1 几何案例

2 几何的不同表示方法

2.1 隐式表示(“Implicit” Representations of Geometry)

2.2 显式表示(“Explicit” Representations of Geometry)

2.3 几何问题没有通解

2.4 隐式表示的例子

2.4.1 代数曲面(Algebraic Surfaces (Implicit))

2.4.2 CSG(Constructive Solid Geometry (Implicit))

2.4.3 距离函数(Distance Functions (Implicit))

(1)定义

(2)特点

(3)水平集

        · 当水平集定义在三维空间上的格子

        · 用水平集做物理模拟

2.4.4 分型(Fractals (Implicit))

2.5 隐式表示的优缺点

优点

缺点

2.6 显式表示的例子

2.6.1 点云

2.6.2 多边形网格

2.6.3 Wavefront Object File(.obj)格式


Introduction to geometry

1 几何案例

               玻璃杯的形状描述                                             发动机的齿轮叶片等部件,大小,位置

                  

           车子的不同部件,曲面的定义                            衣服布料,如何织成

                

          水滴飞溅的形状、力的模拟                                城市众多建筑如何存储,如何渲染

                

         狗的毛流,十分复杂                                               病毒、蛋白质,显微建模

                

                

                                                树木枝干

 这么多复杂的情况不能全用三角形面来表示!

2 几何的不同表示方法

几何的表示方法可以分为两类:隐式几何显式几何

根据不同的任务选择最合适的表示方法即可。

2.1 隐式表示(“Implicit” Representations of Geometry)

不给出实际点在哪,而告诉你这些点所满足的关系式。

eg:描述一个球,可以用  x^{_{2}} +y^{_{2}} +z^{_{2}} =1 来约束球的形状大小。

更一般的情况,可以构造任何一个函数 f(x,y,z) =0 来表示点所满足的关系。

eg:在描述球面的时候,可以构造函数 f 让球内部的点代入表达式后的结果为负数,外部为正数,球面为0。

下面两张图说明了隐式表示的优缺点:

隐式表示的缺点:不直观,某些结果难以求解。

隐式表示的优点:容易判断任何一个点位于物体内部或者物体外部。

 

2.2 显式表示(“Explicit” Representations of Geometry)

常见的显式表示方法:模型三角形面直接定义点的位置;参数映射。

定义(u,v)和函数f,将通过将二维坐标代入f,从而将二维信息映射到三维空间。

(这个形状叫马鞍面)。

举个例子:这个显式方程表示了游泳圈面,其中,x,y,z项是关于u,v的函数。

显式表示的缺点:判断某一点在表面内还是表面外非常难。

2.3 几何问题没有通解

没什么好办法能完全解决几何问题,只能在实际中根据需求选择合适的。

 

2.4 隐式表示的例子

2.4.1 代数曲面(Algebraic Surfaces (Implicit))

这个方法只能用代数方程表达一些简单的形状,无法处理过于复杂的图形。

2.4.2 CSG(Constructive Solid Geometry (Implicit))

构造立体几何,采用了集合的交并差运算思想,可以表示稍微复杂一点的形状。

2.4.3 距离函数(Distance Functions (Implicit))

(1)定义

对于任何一个几何,都不直接描述表面,而是描述任何一个点出发到这个物体表面最近距离。

直接blend无法表示运动过程

距离函数SDF:Signed Distance Function,Signed 表示有符号,也就是有正负。

SDF 为 0  : 点位于物体表面

SDF 为正数:点在物体的外部

SDF 为负数:点在物体的内部

eg:有图片A和图片B,A中的灰色物体占1/3,B中的灰色物体占2/3 。

问两物体混合的中间状态是什么样的?

· 如果直接线性混合,那么就会出现1/3黑色物体、1/3灰色物体、1/3没有物体。过渡得很生硬。

· 构造A、B中灰色物体的SDF

        然后线性混合两张图的SDF,这步操作在直观上相当于在blend边界。

        然后再把blend后的构造函数SDF恢复成图片,此时,边界(SDF=0)基本处于图片中央。

        可以得到平滑的融合结果。

(2)特点

距离函数的表示能力非常强,下面这张图的很多部分都是由距离函数定义。

如何从距离函数恢复到物体表面?一般来说,求出距离函数=0的位置就是物体表面。

(3)水平集

距离函数的定义方式也不局限于数学表达式,还可以用网格来存储距离信息,那么网格值为0的地方就是物体的表面了。使用这种方式可以描述一些代数表达式无法描述的复杂形状。这个概念在地理中称作等高线(不同位置上的同一个值)。

        · 当水平集定义在三维空间上的格子

        · 用水平集做物理模拟

2.4.4 分型(Fractals (Implicit))

用来描述一些具有自相似形的物体,雪花,微生物,植物,入海口形状等等。

2.5 隐式表示的优缺点

优点

·描述紧凑

·判断边界内外容易

·便于做光线和表面的相交(后面讲)

·对于简单的形状,精确的描述/无采样误差

·易于处理拓扑变化(例如,流体)

缺点

·难以描述复杂形状

2.6 显式表示的例子

2.6.1 点云

点云的密度足够大的时候,就可以看作面了。

一般人们在做三维空间的扫描的时候,输出都是点云。

有许多研究在研究:如何把点云变成三角形面。

采样密度比较低的地方难以画出形状,比如下图中金色雕塑的下半部分。因此在现在的一些工作中,很少使用点云,一般都是扫描出来的原始数据是点云。

2.6.2 多边形网格

储存顶点和多边形(通常是三角形和四边形)。

这种方法几乎是在图形学中最广泛应用的方法。

2.6.3 Wavefront Object File(.obj)格式

通常用于图形研究

只是一个文本文件,指定顶点,法线,纹理坐标和f开头的数字组合来表示这三者之间的连接,表示三角形。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值