这个“refinepatch”函数能够通过4分割样条插值来细化任意三角网格表面(补丁),详见截图。边缘的样条插值是通过对边方法完成的,参考Leon A. Shirman的《从多面体模型构建平滑曲线和曲面》。计算所有边缘点上的切线和法线,以及速度。在分割边缘时应用B样条插值。3D线或边上的切线未定义并可沿线旋转,虚拟相对顶点用于固定切线,使其更像表面法线。B样条插值使用边缘点的速度和切线在现有顶点之间插入中间顶点。拆分后,将构建一个新的面列表,即原来的四倍。Matlab文件也可用作MEX文件,以实现对大网格的快速细化。如果发现代码错误或有改进意见,请留言。