显示,如果允许坐标函数x(u)x(u)x(u),y(u)y(u)y(u)和z(u)z(u)z(u)是任意的,则可以得到范围很广的曲线。但是,在实际开发一个几何造型系统时,我们需要进行一些折中。理想的情况是将坐标函数限制在满足下述条件的一类函数中:
- 能够精确地表示用户需要的所有曲线。
- 在计算机中能够被方便、高效、精确地处理,特别是:
—可以高效地计算曲线上的点及各阶导矢;
—函数的数值计算对浮点舍入误差(round-off error)不敏感;
—函数所需要的存储量较小。 - 比较简单那,在数学上易于理解。
一类被广泛使用的函数是多项式。尽管它们满足上述标准中的后两项,但有很多类型的重要曲线曲面不能用多项式精确地表示,在系统中,这些曲线只能用多项式逼近。多项式函数的两种常用表示方法——幂基表示和Bezier表示。尽管两者在数学上是等价的,但是我们将看到Bezier表示更适合于计算机中形状的表示和操作。
一条nnn次曲线的幂基表示形式是
C(u)=(x(u),y(u),z(u))=∑i=0nαiui,0⩽u⩽1(1.5)\mathbf{C}(u)=(x(u),y(u),z(u))=\sum\limits_{i=0}^n\alpha_i u^i,\quad0\leqslant u\leqslant1\quad(1.5)C(u)=(x(u),y(u),z(u))=i=0∑nαiui,0⩽u⩽1(1.5)
其中ai=(xi,yi,zi)a_{i}=(x_{i},y_{i},z_{i})ai=(xi,yi,zi)是矢量,因而
x(u)=∑i=0nxiui,y(u)=∑i=0nyiui,z(u)=∑i=0nziuix(u)=\sum_{i=0}^{n}x_i u^i,\quad y(u)=\sum_{i=0}^{n}y_i u^i,\quad z(u)=\sum_{i=0}^{n}z_i u^ix(u)=∑i=0nxiui,y(u)=∑i=0nyiui,z(u)=∑i=0n