loopsubdivision但是跟之前一样,网上的帖子嘟是直接给出了各个控制点新增或更新时所有相关点的权重,并没有给出具体过程是怎么做的而且在做
loop细分曲面过程就是插入边點和更新原始点的过程,设每次细分之后的点集为
P′, 新插入的点集为
Eps原始点集更新位置后的点集为
0
ep2?表示该边属于两个面。另外原始論文中并没有提到某条边只属于一个面的情况,但是目前看到的帖子里都说如果一个边只属于一个面,那么这条边新增的点为该边中点(假设上图中,边
E(V1?,V3?)只属于一个面)则:
根据上述对边点的计算公式我将此边点计算方法与catmull-clark方法进行了类比,理解得到了一个中间過程
catmull-clark方法在计算边点时,先计算了每个四点面的中心点再基于中心点与边的中点计算得到最终的边点,详细过程见这篇文章
根据这個思想,我先对每条边属于的两个三角面所组成的四点面计算面点
0
0
0
正好权重分布规则一致,这样一来如果对于只属于一个面的边来说,中点就是边点只需要把面点设置为
0
0
0
(0,0,0)即可,实现的时候就比较方便了感觉更有条理了。
0
实际上原论文中的计算公式为:
0