计算机图形学——表面细分

表面细分,举一个粒子,一个立方体,细分很多次以后,表面可有变得平滑。

计算机图形学——表面细分_第1张图片

表面细分的一个关键步骤就是加点。如上图的a只有几个点,进过多次细分后,可有增加到很多点,像d一样。

如何插点呢,看下图:

计算机图形学——表面细分_第2张图片

一个图形,是由很多个三角形组成的,

首先,在三角形的边上插点。如果一条边包含在两个三角形中,则插入的点的坐标按照第一个图进行分配,即3/8 * left + 3/8 * right + 1/8 * up + 1/8*bottom,对每个坐标方向分别计算,按照上面的算法,就可以算出新点的x和y坐标了,然后进行线的连接,两个三角形就变成4个三角形了。如果这条边是边界边,只在一个三角形上面,就不能按照第一个图进行插点了,而是按照下面的方法进行插点。按照(1/2,1/2)算出新点的坐标。再在这个三角形内进行点的连接,这样,一个三角形变成了2个三角形。

对所有的边都进行插点操作。

点插完了以后,图像并没有改变,而是将原来的三角形细分成更多的三角形了,所以,要多点的坐标进行一个变更,调整点的位置。

如果一个点,被多个三角形共同拥有,则按照上面第二个图计算出这个点的新坐标,然后更新这个点的坐标。如果一个点,只被两个三角形共同拥有,则按照最后一个图进行更新点的坐标。

对于所有的点都进行坐标的更新。

重复上面两个操作多次。



你可能感兴趣的:(计算机图形学)