基于 NURBS 的数学表示法
 
 
 

多项式方程式

从最简单的数学表示法开始,我们都记得在几何课上可以用类似 y = 2x 的方程式表示一条(二维)直线。对于 x 的每个值,将其乘以 2 可以得出 y 的值,并且可以将这两个值绘制在图形上。

该类型的方程式的广义形式是 ax + by = c。等号左边的表达式称为多项式(“多”表示许多,指表达式可以包含多个项)。

我们可以创建更加复杂的表达式,以 x 乘以自身,即 y = x * x * x。不必写出项中的所有 x,通常只需算出总个数并将总个数以上标形式表示。这种上标称为“指数”。所以,上面的表达式可以表示为 y = x3

我们可以编写带指数的多项式,例如:y = ax2 + bx + c(您可能还记得我们在数学课上学到过,这是一个二次方程式)。第一次出现的 x 的指数 (2) 表示该函数的图形是曲线而不是直线。

阶数

多项式方程式的阶数是方程式中的最大指数。回想一下,直线方程式的最大指数为 1。(如果某项没有指数,则相当于指数为 1。)

参数表示法

可以通过两种常见方法编写曲线的表达式。隐式表示法将每个变量组合在一个较长的非线性方程式中,例如:ax3 + by2 + 2cxy + 2dx +2ey +f = 0。

在该表示法中,只有计算出 x 值和 y 值才能在图形上绘制这些值,因此您必须对整个非线性方程式求解。

参数表示法将该方程式改写为容易求解的短方程式,即将一个变量转换为其他变量的值:x = a + bt + ct2 + dt3 + ... y = g + ht + jt2 + kt3 + ...

使用该表示法后,x 和 y 的方程式就显得非常简单。我们只需 t 的值,即沿着我们要计算其 xy 值的曲线的点。

可以可视化参数化曲线,就像通过将点通过空间所绘制的效果一样。只要提供 t,我们就可以计算移动点的 xy 值。

这是一个非常重要的点,因为许多工具都使用将参数与线上的每个点相关联的概念。这相当于曲线的 U 向标注

复杂的曲线类型与 NURBS

曲线方程式的阶数越低,描述曲线则越简单。要表示复杂曲线该怎么办?简单的方法是增加曲线的阶数,但这一方法的效率并不太高。曲线的阶数越高,所需的计算越多。此外,阶数高于 7 的曲线易受其形状中的大范围振幅影响,导致它们不适合进行交互式建模。

正确方法是将阶数相对较低(1 到 7)的曲线方程式组合在一起,形成更大、更复杂的复合曲线分段。曲线分段或跨度连接在一起的点称为编辑点。

但是也不应完全忽略阶数较高的曲线。阶数为 5 和 7 的曲线具有某些优点,例如曲率更加平滑并且“张力”更大。此类曲线经常用在汽车设计中。

平滑结合点

曲线的阶数决定跨度之间的结合点的平滑度。阶数是 1(线性)的曲线在结合点处提供位置连续性。阶数是 2(二次)的曲线提供切线连续性。阶数是 3(三次)的曲线提供曲率连续性。