Lec 10 Geometry 1几何1
games101主要内容
- 光栅化成像
- 几何(蝴蝶)
- 图像生成(光线追踪,路径追踪 和光栅化方法做比较)
- 动画模拟
几何的例子
- 曲面
- 齿轮机械几何描述
- 布料
- 水滴
- 城市 (复杂几何)
- 微观几何
归类
隐式几何(Implicit)
- 不告诉每个点具体在哪,但是告诉点的具体关系
- 比如单位球, x 2 + y 2 + z 2 = 1 x^2 + y^2 + z^2 = 1 x2+y2+z2=1
- 很难从式子直接得到哪些点在面上
- 但是能够很简单判断一个点在不在面上
- 例子
-
用数学公式表示(不直观)
-
Constructuve Solid Geometry (CSG)
- 通过交并积来表示
-
通过距离函数表示(Distance Functions)
-
不直接描述面,描述一个点到这个面的距离
-
怎么恢复成一个面呢?当然是找距离为0的地方啦
-
水平集(类似等高线,到一个面距离相同的点)
-
核磁共振中,通过找密度一样的点得到一个表面
-
-
显式几何 (Explicit)
-
把每个点都告诉在哪
-
通过参数映射定义表面
-
uv映射到xyz
-
把所有uv走一遍就能找到所有xyz
-
f ( u , v ) = ( ( 2 + c o s u ) c o s v , ( 2 + c o s u ) s i n v , s i n u ) f(u,v) = ((2 + cosu)cosv,(2+cosu)sinv,sinu) f(u,v)=((2+cosu)cosv,(2+cosu)sinv,sinu)
-
上面的把所有u,v走一遍也能找到所有x,y,z
-
上面那个也是个圆环
-
但是挺难判断一个点在面内还是外还是面上
-
-
所以得根据需要选择不同的表示方法
分型
-
自相似
-
类似递归
-
可能会引起强烈的走样,变换频率太高
对比
隐式函数
- 表述容易,存储容易
- 支持查询点相对于面的位置关系
- 简单做光线求交
- 很难描述复杂图形