样条拟合
用于说明 OpenGL 中样条拟合的 C++ 代码
设计一个工具,用户可以使用以下技术以交互方式绘制控制点序列并绘制平滑曲线:
(i) 通过在参数空间中计算适当的一阶导数并指定结束条件(通过绘制箭头来显示导数方向),以获得通过这些点中的每一个的分段平滑二阶连续曲线,
(ii) 通过这些控制点使用三次 B 样条和 Beta 样条(以适当的参数作为输入),
(iii) 通过绘制具有 (n+1) 个控制点的 n 阶贝塞尔曲线。
该工具还应具有以下功能:
(i) 交互式拖动控制点,导致曲线形状发生变化。 当得到所需的形状时,应与参数等一起保存。
(ii) 该工具可以同时处理不同组或组的控制点。 每个组都可以通过以下操作进行编辑:
(a) Deletion of a point,
(b) Insertion of a new point, and
(c) Modi
1