介绍了Loop, Catmull-Clark, Doo-Sabin细分。
Loop细分是Charles Loop在1987年在硕士论文中提出的一种对三角网格的细分算法。
Loop细分是递归定义的,每一个三角形一分为四,对于新生成的点和旧点以不同的规则更新。
点的更新规则:
Catmull-Clark细分是Edwin CatMull和Jin Clark在1978年提出的一种可以对任意拓扑的网格进行细分的一种算法,是递归定义的,在每一次递归中:
Doo-Sabin细分是Dainel Doo和Malcolm Sabin在1978年提出的一种可以对任意拓扑的网格进行细分的一种算法,是递归定义的,在每一次递归中:
计算面的中心点和边的中心点,对于每一个点P,计算一个新的点P’, 是点,相邻的边的中心点和面的中心点的平均值。
对于每一个面,连接面内的新点生成新的面
对于每一个点,连接点周围的新点生成新的面
对于每一条边,连接边相邻的新点生成新的面
[1] Mesh-Subdivision(Github)
[2] loop曲面细分算法c++实现 https://blog.csdn.net/suian0424/article/details/86371383
[3] Doo-sabin曲面 http://graphics.cs.ucdavis.edu/education/CAGDNotes/Doo-Sabin/Doo-Sabin.html
[4] 细分曲面Catmull-Clark Subdivision算法 https://blog.csdn.net/tspatial_thunder/article/details/5938771
下一篇:idea集成GitHub