实验I2贝塞尔Bezier)曲线和B样条(Spline)曲线 1、实验目的 在工程上经常遇到难以用二次方程描述的曲线,这种曲线称为自由曲线,其 表示形式主要是参数方程。自由曲线的设计中经常碰到两类问题:一类是如何由 离散点决定曲线:另一类是已知曲线形状,如何交互修改,使其满足要求。利用 不同的基函数可以分别构造Bezier曲线和B样条曲线。 2、实验内容 I)利用数学定义构造Bezier曲线。 2)利用de Casteljau算法构造Bezier曲线。 3)利用MATLAB样条工具箱中的B样条构造函数spmak生成B样条曲线。 3、实验要求 I)编写利用Bernstein多项式生成并绘制任意有限阶贝塞尔曲线的程序。 2)编写利用de Casteljau算法生成并绘制任意有限阶贝塞尔曲线的程序。 4、思考 B样条曲线的造型灵活性比贝塞尔曲线强。可通过改变控制点重数或者基函 数节点重数和距离来实现一些特殊造型。试考虑如下问题:如果希望某段三次B 样条曲线成为直线,与其形状相关的4个控制点P,、PH、P2、P应该满足什 么条件? 5、实验习题 I)编写MATLAB程序,通过递归方法生成伯恩斯坦Bernstein)多项式,由这组 多项式生成并绘制任意有限阶的贝塞尔曲线。程序以NX2矩阵为输入,作为控 制点集。矩阵的第一列和第二列分别对应于控制点的x坐标和y坐标。 2)编写MATLAB程序,通过de Casteljau算法生成并绘制任意有限阶的贝塞尔 曲线
实验 12 贝塞尔(Bézier)曲线和 B 样条(Spline)曲线 1、实验目的 在工程上经常遇到难以用二次方程描述的曲线,这种曲线称为自由曲线,其 表示形式主要是参数方程。自由曲线的设计中经常碰到两类问题:一类是如何由 离散点决定曲线;另一类是已知曲线形状,如何交互修改,使其满足要求。利用 不同的基函数可以分别构造 Bézier 曲线和 B 样条曲线。 2、实验内容 1)利用数学定义构造 Bézier 曲线。 2)利用 de Casteljau 算法构造 Bézier 曲线。 3)利用 MATLAB 样条工具箱中的 B 样条构造函数 spmak 生成 B 样条曲线。 3、实验要求 1)编写利用 Bernstein 多项式生成并绘制任意有限阶贝塞尔曲线的程序。 2)编写利用 de Casteljau 算法生成并绘制任意有限阶贝塞尔曲线的程序。 4、思考 B 样条曲线的造型灵活性比贝塞尔曲线强。可通过改变控制点重数或者基函 数节点重数和距离来实现一些特殊造型。试考虑如下问题:如果希望某段三次 B 样条曲线成为直线,与其形状相关的 4 个控制点 Pi、Pi+1、Pi+2、Pi+3 应该满足什 么条件? 5、实验习题 1)编写 MATLAB 程序,通过递归方法生成伯恩斯坦(Bernstein)多项式,由这组 多项式生成并绘制任意有限阶的贝塞尔曲线。程序以 N×2 矩阵为输入,作为控 制点集。矩阵的第一列和第二列分别对应于控制点的 x 坐标和 y 坐标。 2)编写 MATLAB 程序,通过 de Casteljau 算法生成并绘制任意有限阶的贝塞尔 曲线
3)利用上述两个程序,绘制由控制点集{0,-0.2),(12,-0.5),(1.6-1),(1.4,-1.5, (-1,-2.2),(-0.5,-2.7),(-0.35,-3.2),(-0.6-3.7,(-1.6,-42)}确定的贝塞尔曲线。 4)利用MATLAB样条工具箱中的B样条构造函数spmak编程生成并绘制由上 题控制点集确定的经过首尾两点的四阶B样条曲线。跟上题的曲线图形进行比 较,可以得出什么结论?
3)利用上述两个程序,绘制由控制点集{(0,-0.2), (-1.2,-0.5), (-1.6,-1), (-1.4,-1.5), (-1,-2.2), (-0.5,-2.7), (-0.35,-3.2), (-0.6,-3.7), (-1.6,-4.2)}确定的贝塞尔曲线。 4)利用 MATLAB 样条工具箱中的 B 样条构造函数 spmak 编程生成并绘制由上 题控制点集确定的经过首尾两点的四阶 B 样条曲线。跟上题的曲线图形进行比 较,可以得出什么结论?