NURBS
NURBS曲線はその次数とウェイトの指定された複数の制御点のセット、そしてノットベクトルで構成される。前述のとおりNURBSはB-スプラインとベジエ曲線の一般化された表現だが、最大の違いは制御点がウェイトを持つことである。ウェイトを持つことを表すのが有理rationalであるということで、NURBSはB-スプラインの有理である特別なケースである。
ベジエやNURBS曲線に含まれるパラメータ(媒介変数)を様々な値に変化させるとその曲線は2, または3次元の直交座標系上で表せる。同様にベジエやNURBS曲面に含まれるパラメータ(媒介変数)を様々な値に変化させるとその曲面は直交座標系上で表せる。 NURBS曲線/曲面は以下の点で有用である:
アフィン変換を行っても不変である。そのため回転や移動(これらは代表的なアフィン写像である)といった変換を各制御点ごとに行えばNURBS曲線や曲面もそっくりそのまま変換される
自由曲面と、円錐や円柱などの幾何的で標準的な形状の両方を表せる。例えばベジエ曲面は正確な円を表せないという致命的な欠陥があるがNURBSは可能である
あらゆる性質の表面を表現できる柔軟性。生物的な形状もサブディビジョンサーフェスなどに比べればやや難度が高いだけで可能だし、ベジエでは難しい曲率連続の曲面も作れる
ポリゴンメッシュなどのより単純な方法に比べ、少ないメモリ消費で形状を表現できる
数値的に安定で正確なアルゴリズムを用いてかなり速く形状を評価できる
以下の節では2次元上のNURBS曲線に限定して記述するが、全ての記述は3次元上、またはそれ以上の次元においても適用可能であることに留意してほしい。
NURBSはNon-Uniform Rational B-Spline(非一様有理Bスプライン)の略で、曲線や曲面を生成するためにコンピュータグラフィックスで一般的に採用される数学的モデルである。その柔軟性と正確性からモデリング用の形状にも、解析的な用途にも向いている。
例えばモーターヨットの船体の表面をモデリングしていると仮定しよう。大抵の場合、モデルはNURBS曲面1枚では表しきれない(モーターヨットを一枚の伸縮自在の布で包むことは相当無理をすれば不可能ではないが、NURBSの性質上避けるべきである)。そのため「パッチ」と呼ばれる何枚かのNURBS曲面をつなぎあわせて継ぎ接ぎをすることになる。モーターヨットの船体を滑らかにしたい場合、継ぎ接ぎの跡は残したくない。複数のNURBS曲面を滑らかに、あたかも一枚の曲面であるかのように溶け込ませあうためには、数学的な幾何的連続性を確保しなければならない。
NURBSの特徴を活かし、高度なモデリングツールでは幾何的連続性を様々なレベルで実現することが可能である。
位置連続Positional continuity (G0): 2つの曲線・曲面が当該部分で「接続」されていることを保証する。接続しているだけなので、尖ったコーナーやエッジが生じる可能性がある。こういった接続ではハイライトは繋がっておらずトリップする。また製造過程で問題を起こすことがある。