10 Geometry(Introduction)

发布时间 2023-04-15 16:48:43作者: ETHERovo

关键点

  • 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. 闫令琪