NURBS 与其他有理样条
有理样条介绍
有理样条定义为两个样条的比:
这要求 为标量值,而 常常取为向量值,而且我们通常希望 在我们感兴趣的 点非零。
有理样条很出名,因为相比于通常的样条,有理样条可以用来准确地描述一些特定的基础形状,比如圆锥。
rs 型:rp 型, rB 型
在有理样条 中的两个样条 和 需要是无关的。它们甚至可以是不同的类型,但是目前的工具箱中要求它们是相同的类型,甚至具有相同的阶数、断点或结点。在满足这个假设的情况下,您可以使用以下(向量值)样条函数描述这样的有理样条:
它的值向量为有理样条 的值向量再加一个元素,这称之为有理样条的rs型,或更精确地说,是rp型或rB型,这取决于 和 是 pp 型还是 B 型。在内部,把这些有理型与它们对应的通常的样条类型,比如 rp 型和 B 型,区分开的是它们的类型部分,即 fnbrk(r,"form") 的输出。这对于 fn 指令正确地应用在某一个 rs 型上已经足够了。
比如在 fnval 中,从 ) 得到 是非常简单的。假设 v 是 在 处的值,则 v[1:end-1]./v[end] 为 在 x 处的值。如果 dv 是 ,则 (dv[1:end-1]-dv[end].*v[1:end-1])./v[end] 则为 。更通常地,由莱布尼茨公式可以知道
因此
这意味着您可以使用 和 的导数(即 的导数)以及直到 j-1 阶的 的导数计算 的第 j 阶导数。这种方法在 fntlr 中就用来计算有理样条的导数。对于多元有理样条的偏导数和方向导数也有类似的公式。
相关主题