【3维视觉】网格细分Mesh Subdivision算法介绍(Loop, Catmull-Clark, Doo-Sabin)
创始人
2024-06-01 18:54:15

引言

介绍了Loop, Catmull-Clark, Doo-Sabin细分。

算法介绍

1. Loop细分

Loop细分是Charles Loop在1987年在硕士论文中提出的一种对三角网格的细分算法。
Loop细分是递归定义的,每一个三角形一分为四,对于新生成的点和旧点以不同的规则更新。

点的更新规则:

2. Catmull-Clark细分

Catmull-Clark细分是Edwin CatMull和Jin Clark在1978年提出的一种可以对任意拓扑的网格进行细分的一种算法,是递归定义的,在每一次递归中:

  • 计算面点,是面的顶点的平均值
  • 计算边点,是边的顶点和相邻的面点的平均值
  • 计算旧的顶点,n是与点相邻的边数量, Q是相邻的面点的平均值,R是相邻的边点的平均值,v是本来的顶点
    在这里插入图片描述
  • 生成新的拓扑

3. Doo-Sabin细分

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

相关内容

热门资讯

以极核改革带动区域协同,成都如... 图片来源:每经记者 刘旭强 摄 深化要素市场化配置改革,是建设全国统一大市场的关键环节。 2025年...
原创 剑... 在《剑来》中,宋馀是长春宫的太上长老,也是大骊朝廷的重要助力。长春宫是大骊朝廷京畿以北的头等仙家洞府...
恒拓开源1月13日龙虎榜数据 恒拓开源(920415)今日下跌5.60%,全天换手率17.32%,成交额3.35亿元,振幅33.2...
遥感五十号01星发射成功 (来源:科创100ETF基金)  1月13日,我国在太原卫星发射中心使用长征六号改运载火箭,成功将遥...
生态环境部(国家核安全局)与中... 转自:生态环境部2026年1月12日,生态环境部(国家核安全局)与中核集团开展核安全监管年度对话活动...