2013-05-02 185 views
0

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

回答

2

我认为我最喜欢的理解NURBS曲面(如果您已经理解NURBS曲线)的方式是线上的珠子。所以,让我们来看一个更简单的贝塞尔曲面的例子(假设你理解NURBS曲线,你理解贝塞尔曲线)。

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

现在想象你有4条水平贝塞尔曲线,每条曲线都在另一条曲线上方。如果将相同的参数值插入到所有4条曲线中,则会得到4个点,每条曲线对应一个点。那些是电线上的珠子。让我们调用水平曲线'的参数值。

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

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

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

0

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