GAMES101回顾 -- Geometry

Geometry

Examples of geometry

隐式几何(Inplict)

定义:用函数进行表示,如 f(x,y,z)=0。
在这里插入图片描述

显式几何(Explict)

定义:所有点都是直接或通过参数映射给出。
所有的(u,v)映射到对应的(x,y,z),组成曲面。
在这里插入图片描述

Various representations of geometry

隐式几何表现方法

  • 代数曲面
    在这里插入图片描述

  • CSG
    对各种不同的几何做布尔运算,如并,交,差。

  • Signed Distance Function(SDF)
    描述一个点到物体表面的最短距离,外表面为正,内表面为负。

  • Level Set
    将函数值为0的点作为曲线
    在这里插入图片描述

  • Fractals

显式几何表现方法

  • 点云
    给出点的各属性信息,组成几何图形

  • 多边形网格(广泛应用)
    多边形网格由一组相邻的面(通常是三角形或四边形)组成,存储顶点和多边形,它们定义了物体表面上的位置。每个顶点通常包含三维坐标信息以及其他属性,如法线、纹理坐标等。
    在这里插入图片描述

  • obj格式
    指定顶点、法线、纹理坐标及其连通性的文本文件
    在这里插入图片描述
    如上图: v是顶点,vn是法线向量,vt是纹理坐标。而f是他们之间的连接关系。拿第36行举例:a/b/c,分别代表 顶点/纹理/法线。 那么整体就是 第5、1、4个顶点形成一个三角形,分别采用第1、2、3个纹理,以及法线分别是1、1、1个(其实都是该三角形面的法线。

曲线

贝塞尔曲线

描述平滑形状,由控制点定义和权重因子定义曲线。在这里插入图片描述

de Casteljau Algorithm

de Casteljau算法利用多个点画出一条贝塞尔曲线。
在这里插入图片描述

分段贝塞尔曲线

控制点数量过多的情况下,分段表示
在这里插入图片描述

贝塞尔曲面

在这里插入图片描述

处理方法

超采样提高分辨率,降采样降低分辨率,正则化修改样本分布以提高质量。首先,创建更多多边形(顶点),其次,调整他们的位置。

Mesh subdivision

  • Loop Subdivision
    -基于三角网格的曲面细分方法。它通过迭代地对三角形进行细分,生成新的顶点和三角形,使曲面逐渐变得更加平滑。
    在这里插入图片描述
  • Catmull-Clark
    基于四边形网格的曲面细分方法。它通过迭代地对四边形进行细分
    在这里插入图片描述
    在这里插入图片描述

Mesh simplification

目标:减少网格元素的数量,同时保持整体形状

  • Collapsing An Edge边坍缩算法
    在这里插入图片描述
    简化后,要注意减小坍缩导致的误差:
    1、计算每一条边坍塌下的误差值,进行堆排序、贪心算法,选择误差最小的边开始进行坍缩。
    2、以最小的代价更新,对受影响的边做更新最小二次误差。
    在这里插入图片描述

Mesh regularization

Shadow Mapping

与光栅化区别:光栅化,只考虑一点的着色,还没考虑到时候有物体遮住。
两次不同的投影:从光源出发成像记录一次深度,从相机出发成像到物体,再从物体反向到光源记录一次深度,判断二者深度图是否相等,若相等,则物体无遮挡。
在这里插入图片描述

  • 硬阴影(Hard Shadow)
    由于光线的遮挡而产生的清晰、锐利的阴影效果。在硬阴影中,光线无法通过遮挡物体,因此在阴影区域内的像素完全被遮挡,没有光照到达,导致阴影区域呈现出明暗对比鲜明的效果。

  • 软阴影(Soft Shadow)
    由于光线的遮挡而产生的模糊、柔和的阴影效果。在软阴影中,光线可以部分通过遮挡物体,因此在阴影区域内的像素可能会受到部分光照,导致阴影区域呈现出渐变的明暗效果。

  • 本影(Umbra)
    在天体遮挡光源的情况下,光线无法到达的区域。在本影中,观察者无法看到光源,因此完全处于暗影之中。

  • 半影(Penumbra)
    在天体遮挡光源的情况下,光线只能部分到达的区域。在半影中,观察者可以看到部分光源,但光线被部分遮挡,导致区域呈现出渐变的明暗效果。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51947486/article/details/132172798