今天继续聊voronoi那些事,分享的是将平面的voronoi图形映射到曲面上,分别利用Copy Trim和Map to Srf两个核心电池实现。
Copy Trim
1.根据随机点生成平面voronoi图形;
2.提取每个单元体的顶点,去除重复点,生成nurbs曲线,由于每个单元体的顶点数不一样,这里是将nurbs曲线的阶数设置为每个单元体顶点数-1,也就是最高阶数;
3.nurbs曲线与边界生成平面曲面,通过copy trim将平面voronoi图形映射到曲面表面;
Map to Surface
1.以圆柱曲面的展开矩形为边界,生成voronoi图形,需要注意的是,由于圆柱曲面截面是个封闭的圆,为了保证平面voronoi映射到曲面后收尾相接,这里将随机点分别向x轴正向和负向移动,移动值为矩形边界的宽度值;
2.通过判断每条voronoi边框的起点和终点y坐标,剔除掉两边竖向的边缘线;
3.利用 Map to Srf将平面voronoi图形映射到圆柱曲面上;
4.通过单元体是否为封闭曲线,筛选出接缝处开口的多段线;
5.按开放多段线的中心点z坐标对多段线排序,然后两两分组进行join,这样得到所有封闭的多段线单元;
6.对多