实验四 自由曲线曲面算法实验 实验项目性质:设计性实验 所属课程名称:3D游戏图形学 实验计划学时:3学时 一、 实验目的和要求 1
了解自由曲线和曲面的生成原理; 2
掌握并实现 Bezier 曲线和 B 样条曲线的生成算法; 3
实现 Bezier 曲面的生成算法
二、 实验原理 1
Bezier 曲线是通过一组多边形折线的顶点来定义的
如果折线的顶点固定不变,则由其定义的 Bezier 曲线是唯一的
在折线的各顶点中,只有第一点和最后一点在曲线上且作为曲线的起始处和终止处,其他的点用于控制曲线的形状及阶次
曲线的形状趋向于多边形折线的形状,要修改曲线,只要修改折线的各顶点就可以了
因此,多边形折线又称Bezier 曲线的控制多边形,其顶点称为控制点
三次多项式,有四个控制点,如图1 所示, 其数学表示如下: ,300
30( )( )( )( )( )( )i iiQ tPBtP BtPBtP BtP Bt 图1 三次 Bezier 曲线 32230123(1)3 (1)3 (1),[0,1]t Ptt Ptt Pt P t (1) 其矩阵形式为 01322313313630( )(1),[0,1]33001000PPQ tttttPP (2) 2
B 样条曲线保留了Bezier 曲线的优点,对Bezier 曲线进行了拓广,用B 样条基代替Bernstein 基,克服了Bezier 曲线由于整体表示带来的不具备局部性质的缺点
B 样条曲线的数学定义为 0nkk,mkp(t)P B(t) (3) 式中,(0,1,, )kP kn为n+1 个控制点,由控制点顺序连成的折线称为B 样条控制多边形
m 是一个阶参数,可以取 2