The value of nodes when drawing a NURBS curve?

I use gluNurbsCurveto draw some curves with some control points. I have a basic setup, as described in the red book, which works correctly, and I'm trying to expand it.
This example is as follows:

float knots[8] = {0,0,0,0,1,1,1,1};
float pnts[4][3] = { {...},{...},{...},{...} };
GLUnurbsObj *m = gluNewNurbsRenderer();
gluBeginCurve(n);
gluNurbsCurve(n, 8, knots, 3, pnts, 4, GL_MAP1_VERTEX_3)
gluEndCurve(n);

One thing that I was curious about was the meaning of these nodes. How does this affect the result? What other options can you experiment there? For some reason, I could not find a textbook that correctly explains this.

+3
source share
2 answers

, . GL- , NURBS. " NURBS" google .

, knot-vector-length = number-of-points + degree-of-curve + 1, , , , . , {0,1,2,3} {0,2,4,6}

, :

1) {0,1,2,3,4,5,6,...}

, ( ) degree-of-curve-1 , , , ( ) degree-of-curve-1 .

2) {0,0,0,1,2,3,...,n,n,n}

0 n degree-of-curve + 1 . , . NURBS, . . , , , , .

Btw. degree-of-curve + 1 , 0 1 s. .

( )

+3
A knot vector is the curve parameter at which the continuity changes. Try to 

, . , num_control_points - 1. , 4 . 3 ( = 4). . C2, .. . (0, 0, 0, 0, 1, 1, 1, 1). , . .

, , 0. C0. 1. . , . , , . 3. (C3 → C2 → C1 → C0). , (0 → 0 → 0 → 0) .

(: P), - . , (0, 1, 2, 3..7). , 0 - 1. . 1 - 2, . , 7 (, ). 3. , 7 , 3.

, , . 1. , 2 , - ( ). , , . "R" NURBS (Non Uniform Rationalized B splines). , , Uniform B. , NURBS - .:)

0

All Articles