计算机图形学 读书笔记(四) 网格 mesh

写个读书笔记,一来作为字典以后可以查,二来记录自己的理解。

并没有对每个知识点的详细解释,大部分只有主观的定性的解释。


网格部分的知识有以下几点:

– Mesh tessellation 网格划分?
– Mesh simplification 网格简化
– Subdivision 网格细化

–Mesh parameterization: Seam computation  网格参数化

网格的意义:

  • 一个3D模型的统一表达形式
  • 精度和速度的权衡

网格的划分

将一个多变形分割为方便表示的面(一般为三角型)

切耳法ear clipping :  2D下的切耳法:连续的三个顶点v1,v2,v3, 如果v1和v3之间的连线没有和其他边相交,那么v1,v2,v3组成一个三角面。 重复以上得到用多个三角填充的多边形。

网格简化

简化网格,提升效率。 去除多余的面(有的共平面的面 可以合并到一块)。

LODlevels of detail,用来表示  在不同需求下采取不同的简化等级。

2D manifold (2D流型):每两个三角都只共享一条边的拓扑结构。

简化方法:

• decimation:去除顶点,重新计算模型

• vertex merging:将两个顶点合并,计算新顶点的位置,将与原顶点连接的点 重新连接到新顶点。

简化cagtegory:

  • 静态简化:提前把不同LOD等级的模型计算好,渲染的时候直接拿来用。
  • 动态简化:动态的计算模型的顶点,细节。 
  • 随视点简化

 decimation和vertex merging算法细节


网格细分

网格细分分为两个阶段:一、refinement phase, 创建新顶点,并连接成为新的三角面。二、smoothing phase, 给所有顶点计算新的位置。

loop subdivision:

一个三角面分为四个新的三角面。



√3 subdivision:

一个三角面分为三个新的三角面。


猜你喜欢

转载自blog.csdn.net/qq_30795577/article/details/79883049