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 つのノットの座標を導き出す簡単な方法はありますか? コントロールポイントの座標に基づいて、私は推測しますか?それとも、これは自明ではありませんか?コントロール ポイントの座標と重みの他に、 と の値もSTRIDEありORDERます。

gluNurbsCurve関数はこれらの値に基づいて曲線を描くことができるので、それが可能であると考えました..

それとも、結び目の概念が完全に欠けていますか?

4

2 に答える 2

2

あなたが NURBS に投稿した記事を読むと、ノットはポイントというよりも重みであることがわかります。

「ノット ベクトルは、コントロール ポイントが NURBS カーブに影響を与える場所と方法を決定するパラメータ値のシーケンスです。」

したがって、結び目はせいぜい曲線の領域として表すことができます。簡単に視覚化できるのは、結び目の多重度です。関連するコントロール ポイントに適切な色を付けるだけです。

于 2012-10-17T14:00:52.583 に答える
1

この Web ページを見てみましょう: 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 に答える