2

我需要在 OpenGL 中绘制 NURBS 曲线的控制点和节点。控制点没有问题,因为它们是由它们的坐标定义的。然而,我在打结时遇到了更多麻烦。

我有一个由gluNurbsCurve函数采用的结数组,定义如下。

GLfloat knots[KNOTCOUNT] = {0.00, 0.00, 0.00,
                            0.25,
                            0.50, 0.50,
                            0.75,
                            1.00, 1.00, 1.00}

有没有一种简单的方法可以得出这 5 个结的坐标?根据控制点的坐标,我假设?或者这不是微不足道的?除了控制点的坐标和权重,我还有STRIDEORDER值。

我认为这是可能的,因为gluNurbsCurve-function 能够根据这些值绘制曲线..

还是我完全错过了结的概念?

4

2 回答 2

2

如果您阅读您在 NURBS 上发布的文章,您会了解到结比点更重要。

“节点向量是一系列参数值,用于确定控制点在何处以及如何影响 NURBS 曲线。”

因此,一个结最多可以表示为曲线的一个区域。你可以很容易地把它想象成一个结的多样性。只需适当地为关联的控制点着色。

于 2012-10-17T14:00:52.583 回答
1

看看这个网页:http ://www.ibiblio.org/e-notes/Splines/Basis.htm

它很好地解释了结向量,甚至让您尝试在 Java 小程序中使用结向量(将小结移动到图形右侧的顶部)。Java 小程序的源代码也可用。

该页面是样条线完整交互式介绍的一部分:http: //www.ibiblio.org/e-notes/Splines/Intro.htm

于 2012-10-19T14:40:41.823 回答