0

所以我最近阅读了很多关于 nurbs 的内容,并且完全理解了 nurbs 曲线(甚至为它写了一个小库)。但是我在表面上遇到了一些问题。我可以看到我需要两组控制点。我的问题是这两组点之间的区别是什么?任何人都可以简要解释一下或给我一些链接吗?

4

2 回答 2

2

我认为我最喜欢的理解 NURBS 曲面的方式(如果您已经了解 NURBS 曲线)是电线上的珠子。

所以,让我们看一个更简单的贝塞尔曲面示例(我假设如果您了解 NURBS 曲线,您就会了解贝塞尔曲线)。

三次贝塞尔曲线有 4 个控制点。想象一下贝塞尔曲线,它只是一条平滑的水平曲线。给定参数值(通常称为 t),您可以计算该曲线上的任何点。只需将 t 代入曲线的参数方程,就会产生一个点。

现在想象你有 4 条水平贝塞尔曲线,每条曲线都在另一条曲线之上。如果将相同的参数值插入所有 4 条曲线,您将获得 4 个点,每条曲线一个。那些是电线上的珠子。我们将水平曲线的参数值称为“s”。

取这 4 个“珠”点,并将它们视为垂直曲线的控制点。以另一个参数值评估该曲线(像往常一样,我们称之为“t”),它会给你一个点。那一点就在表面上。具体来说,这就是点 P(s,t)。

因此,给定一个 4x4 的控制点网格,您可以使用线上的珠子来计算表面上的点。随着 s 的变化,珠子沿着导线扫出不同的曲线。所有这些曲线的集合就是曲面。

你可以用 Nurbs 曲线做同样的事情。你只需要一个 s 的节点向量、另一个 t 节点向量和一个控制点网格。

于 2013-07-19T11:24:07.517 回答
0

对于 NURBS 曲面,您不需要两组控制点,您需要一个二维网格或控制点网格。该网格将有 n 行和 m 列,并且网格中的每个点将具有 x、y 和 z 坐标以及 aw 值,即该点的 NURBS 权重。

于 2013-08-06T08:45:19.883 回答