这个月,翻阅了一些杂志,觉得细分算法,特别有意思。就尝试的看了看。昨天,编写了catmull-clark算法和loop算法。觉得挺好的。
catmull-clark算法,主要从双二次B样条推导出来,可以保证一定的光滑。
catmull-clark具体的细分几何原则是:生成面点、边点和新的顶点。主要针对四边形
1。面点:是组成面的点的平均。
2。边点:是对边端点的平均与边所属面的面点的平均之和的平均
3。新顶点: 1/n倍的相关面点的和的平均+2/n倍的相关边的边点的平均+(n-3)/n倍的旧节点的和
,拓扑原则:
每一个面点连接构成该面的边的新边点。
新顶点连接与该顶点相关的边的新边点。
loop的细分几何原则是:生成边点和顶点。主要针对三角形
1。边点:3/8倍的边的端点之和+1/8的边相关面的另外两个点之和。
2.顶点:(1-n*s)倍的旧顶点+s*相关边邻点的和。其中s=1/n(5/8-sqrt(3/8+1/4*cos(2PI/n)))
拓扑原则:
新顶点连接相关边的边点
属于同一面的边,连接边点。