基于 NURBS 的数学表示法

多项式方程式

在最简单的数学方程式中,我们可以用 y = 2x 等方程式表示二维直线。该类型的方程式的广义形式是 ax + by = c。等号左边的表达式称为多项式,因为它包含多个项。

在更为复杂的表达式中,变量可以乘以本身,从而生成包含指数的多项式,例如,二次方程式 y = ax 2 + bx + c。第一次出现的 x 的指数 2 表示该函数的图形是曲线而不是直线。

阶数

多项式方程式的次数由方程式中的最大指数确定:

参数表示法

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

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

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

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

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

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

复杂的曲线类型与 NURBS

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

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

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

平滑结合点

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