10 Geometry(Introduction)
关键点
- Implicity Geometry
- Algebraic Surface
- Contructive Solid Geometry(CSG)
- Distance Functions
- Explicity Geometry
- Point Cloud
- Polygon Mesh
1. Represent Geometry
1.1 Implicit Geometry隐式几何
不说明点的位置,而是给出点的关系,得到一个点的集合,即一个几何的表示。
- 缺点:从关系不能直观得到几何形状(即很难找到所有的具体的点)
- 优点:可以方便的判断点与几何的关系(比如,正值在外,负值在内,零值在上)
1.2 Explicit Geometry显式几何
给定一个映射,将二维的参数映射到三维的点。
- 缺点:不易从映射看出几何形状,也难以判断点与几何的关系
- 优点:方便找到几何的点
2.Implicit Representations
2.1 Algebraic Surface
使用几何公式表示。只是便于表达简单几何,而且形状不直观。
2.2 Contructive Solid Geometry(CSG)
使用基本几何的布尔运算来表示复杂几何。
2.3 Distance Functions 距离函数
距离函数是指空间中的任何一个点到某个几何形体的最小距离,该距离可正(外)可负(内)。对于两个物体的距离函数都得到之后,就可以做blending,然后融合得到一个图形。
可见,sdf值为零处就是边界。
水平集Level Set,可以使用某个属性得到等高线。
水平集在三维空间中的应用,可以结合纹理,比如密度属性:
2.4 Fractals 分形
变化频率很高,渲染要求很高。
3. Explicit Representations
3.1 Point Cloud 点云
一个关键的问题是点云如何变成三角形面,此外点的密度太小就效果不好,一般用于扫描得到的结果。
3.2 Polygon Mesh 多面性面
- 使用多面性面(三角形或四边形),该方法使用最多。
- Wavefront Object File(.obj) Format
v x y z 定义一个点
vn x y z 定义一个法线
vt x y 定义一个纹理坐标
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 定义一个三角形面
来源
[1]Games101. 闫令琪
本文来自博客园,作者:ETHERovo,转载请注明原文链接:https://www.cnblogs.com/etherovo/p/17321090.html