交互修改是几何设计中一种常用的曲线曲面编辑手段,NURBS曲线曲面是CAD系统中曲线曲面的标准表示形式.现有的B-spline曲线曲面交互修改技术往往需要求解一个带约束的能量优化问题,当曲线曲面的控制顶点较多时,这个优化问题的求解过程较慢,难以满足交互操作的实时要求.为此,基于B-spline曲线曲面的局部迭代逼近(PIA)性质提出一种实时的B-spline曲面交互编辑方法.给定一张B-spline曲面和空间待插值目标点集,首先确定距待插值目标点位置最近的曲面上的点以及最近的控制顶点,构造对应于这2个点的主差向量,并将它们扩散到其他控制顶点;然后通过平均操作获得对应于每个控制顶点的差向量;最后通过PIA迭代生成新曲面.该迭代过程的极限曲面就是插值于给定目标点集的曲面.由于PIA迭代仅需调整若干控制顶点,不需求解约束优化问题,使得其在交互修改具有大规模控制网格的B-spline曲面时,在速度方面具有较大优势;同时,文中方法生成的曲面质量与采用能量优化方法得到的曲面质量相比差别不大.
Interactive design is widely used for curve and surface editing in geometric design.Currently,the methods for B-spline curve and surface modification usually involve solving a constrained energy optimization problem,which costs lots of time when the number of control points of curves or surfaces is large.So it hardly achieves real-time response in the modification operation.In this paper,we propose a real-time surface modification method based on progressive-iteration approximation(PIA).Suppose we are given a B-spline surface and an interpolated point set as input.First,we determine the points on the given surface,which are closest to the interpolated points,and the control points closest to the interpolated points.Then,we construct the main difference vectors,diffuse them to all of the control points,and average the difference vectors corresponding to each control point.Lastly,the new surface is generated by one PIA iteration step.The limit surface of the iterations interpolates the give points.Thank to the advantage of the PIA,the modification method developed in this paper only needs to adjust some control points iteratively,without solving any constrained optimization problem.It makes our method have real-time performance,much faster than previous optimization-based method.Meanwhile,the quality of the surface generated by our method is similar to that by solving a constrained energy optimization problem.