工具步骤
选中面,点击“整形面”工具,绘制一条和面至少两个交点的线,双击结束。
应用场景
快速修改一个几何面的局部形状。
算法输入
一个待修改的面p,和一条绘制的线l
算法输出
修改后的面
算法示意图
算法原理
基本思路:用绘制的线序,替换掉和原面相交部分的线序,生成新面。
-
遍历面的每一层几何和绘制线l,找到一个几何和绘制线有至少两个交点即可,记录该层几何索引ind和几何面lp
-
基于面的lp和绘制线l,计算出交点在l上的索引点序列linds = [0,3,2,5]
-
对linds进行索引从小到大排序,如果落在lp的同一段线上,则根据距离线段起始点的距离进一步排序,得到linds_sort = [0,2,3,5]
-
取linds_sort的首尾点,计算它们落在lp的索引点序列lpinds = [0,1]
-
构建新