几何Geometry(3)(笔记)


前言

曲面的继续


五、曲面(Surfaces)

曲面细分(Mesh Subdivision)(升采样 UpSampling)

在这里插入图片描述
通过增加模型的三角形,引入更丰富的细节。

曲面细分(Mesh Subdivision)(降采样 DownSampling)

在这里插入图片描述
在维持基本外形的情况下,减少模型三角形数量,可以获得更快的性能表现。降采样之后的模型也是一种独特的艺术风格——低模(Lowpoly)。

网格优化(Mesh Regularization)

在这里插入图片描述
将网格中不同形状的三角形转换为正三角形。可以获得更好的形状,但是要注意最好不要丢失原有的几何信息(注意上图的耳朵部分)。

六、细分(Subdivision)

Loop 细分(Loop Subdivision)

注:Loop应该是人名,不是循环的意思。所以Loop细分就叫Loop细分。
在这里插入图片描述
Loop细分是最普遍的三角形细分方法,Loop细分要达成两个目的。第一:要能得到更多的三角形。第二:要能使模型拥有更精细的细节。
在这里插入图片描述
将每一个三角形分为四个小三角形。
在这里插入图片描述
将顶点区分为新顶点,也就是新加入的顶点,和老顶点。分别按照不同的方式赋予这些顶点新的位置。
在这里插入图片描述
对于新的顶点,比如上图中的白点,在这个例子的算法中,我们认为A点和B点对这个白点的加权贡献为3/8,C点D点为1/8。那么白点的位置就更新为上述公式带来的结果。
再聊一下刚刚做的事情,我们这是在做平滑,而平滑其实就是将某个点的位置设置为他周围点的位置的加权平均。
在这里插入图片描述
对于旧的顶点位置,一部分保留自己原本的位置,另一部分受到相邻旧顶点的影响。
比如上图的例子,设n为顶点的度(degree),也就是顶点连接的边的数量,比如上图中的白点连接了6条边,这个白点的度就是6。再设置参数u,u为一个与n有关的参数,u在n=3时为3/16,其他情况下则为3/8n。
旧顶点的位置公式如上图。相邻顶点越多,该旧顶点受到的来自相邻旧顶点的影响就越大(neighbor_position_sun)。
在这里插入图片描述
上图展示了Loop细分的效果。

Catmull-Clark细分

在这里插入图片描述
Loop细分只能用于三角形,而Catmull-Clark细分适用于一般情况(General Mesh)。
奇异点(Extraordinary Vertex):度不为4的点。
在这里插入图片描述
细分步骤:在每一个面的中间取一个点(就当是取中点吧),在每一条边的中间取一个点,再将这些新加入的点连接起来。
在这里插入图片描述
细分步骤:在每一个面的中间取一个点,在每一条边的中间取一个点,再将这些新加入的点连接起来。结果如上图,对比原图,每个四边形分成了4个小四边形,每个非四边形也被分成了若干小四边形。
在这里插入图片描述
可以观察到,每个非四边形在经过一次细分之后会产生一个奇异点。并且所有的非四边形面都消失了,只剩下四边形面。由此我们可以说,在经过一次Catmull-Clark细分之后,每一个非四边形面都变成了一个奇异点。并且之后的细分再也不会增加奇异点。
以上就是Catmull-Clark细分的性质。
在这里插入图片描述
Catmull-Clark细分的计算公式。

六、曲面简化(Mesh Simplification)

曲面简化的目的

在这里插入图片描述
曲面简化的目的是减少网格数量的同时要保存总的形状。
如果说300个网格你就觉得不够看了,考虑一下,当我们离模型很远时,3w个网格和300个网格的视角效果差距。如上图中最下面的小图。

边坍缩(Edge Collapsing)

在这里插入图片描述
简单来说,找到一个边,将他坍缩为一个顶点(想象一下逮着这条边的两个顶点往回一捏,当然这只是一个比喻)。但是,在坍缩之前,我们得确定要坍缩到哪一个点。

二次误差度量(Quadric Error Metrics)

在这里插入图片描述
通过二次误差度量的方法可以找到合适的合适的点,二次误差度量的思想是,通过一种误差度量方式,找到误差最小的点作为坍缩点。
二次误差的意思是,假设有一个点,这个点到原本的几个面距离的平方和。根据这个距离平方和我们给这个点一个二次误差评分,我们希望找到一个点,这个点到相关联的几个面的距离平方和最小。
在这里插入图片描述
运用二次误差度量进行边坍缩的方法是,首先度量每一条需要坍缩的边的二次误差,再从小到大依次进行坍缩。
在这里插入图片描述
但是有一个问题是,当坍缩一条边之后,他周围的边会受到影响而改变。这时我们需要一种方法去动态的更新受影响的元素。在这里我们使用数据结构优先队列(也就是堆)来实现上述需求。

课程的最后

接下来会讲到光线追踪,不过在正式进入光线追踪之前,先给大家讲讲阴影的问题。

猜你喜欢

转载自blog.csdn.net/qq_37856544/article/details/113702887