NURBS
[Wikipedia|▼Menu]
3次元のNURBS曲面は複雑で有機的な形状をとることができる。制御点は曲面の方向と位置を支配する。最下部の四角形はこの曲面のXY平面上への投影である NURBS曲線の例
Animated version

NURBSはNon-Uniform Rational B-Spline(非一様有理Bスプライン)の略で、曲線や曲面を生成するためにコンピュータグラフィックスで一般的に採用される数学的モデルである。その柔軟性と正確性からモデリング用の形状にも、解析的な用途にも向いている。目次

1 歴史

2 使用

3 曲線・曲面の連続性

4 技術的な定義

4.1 制御点

4.2 ノットベクトル

4.3 ノットと制御点の違い

4.4 次数と階数

4.5 基底関数

4.6 NURBS曲線の一般式

4.7 NURBS曲面の一般式


5 NURBSオブジェクトの変形

5.1 ノットの追加

5.2 曲率


6 脚注

7 参考文献

8 関連項目

9 外部リンク

歴史

NURBSは1950年代船体航空機自動車の外表面形状に使われるような自由曲面を数学的に正確に表現する必要のあったエンジニア達によって開発された。必要に応じていつでも完璧に同一の形状が再生成されるような仕組みはそれ以前にはなく、曲面を表現するにはデザイナーによって形作られた物理的な模型を用いる他なかった。

この開発におけるパイオニアは、共にフランス出身のルノーのエンジニアピエール・ベジェシトロエンのポール・デ・カスティリョ(英語版) がいる。ベジエとデ・カスティリョはほとんど同時に開発を進めており、そのことを互いに知らなかった。このモデルが一般的にコンピュータグラフィックスのユーザ間でスプライン曲線のひとつであるベジェ曲線として知られているのは彼が自分の研究を出版したからである。いっぽうデ・カスティリョは彼の開発したパラメトリック曲面を評価するためのアルゴリズムとして知られるのみにとどまる。1960年代にNURBSはベジェ曲線の一般化されたモデルであることがわかった。NURBSがその名の通り非一様有理Bスプラインであるのに対し、ベジェ曲線は一様非有理Bスプライン(uniform non-rational B-splines、ただし、一様非有理BスプラインとかUNRBSと呼ばれることはない)といえる。

当初はNURBSの利用は自動車メーカー内で用いられるプロプライエタリCADソフトのみに限定されていた。その後標準的なコンピュータグラフィックスソフトにも採用されていった。1989年Silicon Graphicsワークステーション上で初めてリアルタイムでインタラクティブなNURBSのレンダリングが可能になった。1993年にはCAS Berlinというベルリン工科大学と共働関係にあった小さなスタートアップ企業がNoRBSという名のパーソナルコンピュータ上で動作するNURBSモデラが開発された。こんにちほとんどのプロフェッショナルなデスクトップCGソフトはNURBSの技術を採用している。そのうちのほとんどはそれ専用の企業からNURBSエンジンを購入している。
使用 モーターヨットのモデリング

NURBSはCADやCAMCAEで一般的に用いられており、IGESSTEP、ACIS(英語版)、PHIGSなど数々の世界標準に採用されている。コンピュータグラフィックスソフトやアニメーションソフトウェアパッケージにも採用されていることがある。MayaCinema 4Dが有名である。

NURBSはコンピュータプログラムにとって都合がよいだけでなく、人間による編集にも向いている。NURBS曲線を布の縦糸と横糸に使ったものがNURBS曲面といえる。その形状は制御点(control point)により定義され、制御点を編集し移動することによって曲面形状を変化させられる。NURBS曲面は特に、やや単純な幾何形状をコンパクトに表現するのに強みがある。俗に有機的曲面と呼ばれるキャラクタなどのモデリングにはサブディビジョンサーフェスが向いており、実際ゲーム業界やアニメーション業界ではNURBSよりもこちらのほうが普及している。サブディビジョンサーフェスは全体が柔らかい生物的なモデルには無類の強さを誇るが、数学的に尖った角のある形状はどうしても表現できないためCADでの利用はまずない。NURBSの数学的な正確性という強みとサブディビジョンサーフェスの柔らかな形状という強みを併せ持った新しいスプラインがT-スプラインである。これらはNURBSの2分の1の制御点数で柔らかな形状を表現できる。

一般的に言って、NURBS曲線やNURBS曲面の編集は極めて直観的で予想を裏切らないものである。モデリングはベジェ曲線のように要素の制御点をいじって編集することもできるし、より高度なスプラインモデリングのような階層状の制御を行うこともできる。スプラインモデリングとは、NURBS曲面の四角い「布」のうち数辺のみをNURBS曲線で定義して曲面そのものの生成はソフトに任せる方法である。こうすることで本来無数の制御点が必要になるような複雑な形状をずっと少ない制御点で表現されるスプライン数本で滑らかに表すことができる。
曲線・曲面の連続性詳細は「滑らかな関数」を参照

例えばモーターヨットの船体の表面をモデリングしていると仮定しよう。大抵の場合、モデルはNURBS曲面1枚では表しきれない(モーターヨットを一枚の伸縮自在の布で包むことは相当無理をすれば不可能ではないが、NURBSの性質上避けるべきである)。そのため「パッチ」と呼ばれる何枚かのNURBS曲面をつなぎあわせて継ぎ接ぎをすることになる。モーターヨットの船体を滑らかにしたい場合、継ぎ接ぎの跡は残したくない。複数のNURBS曲面を滑らかに、あたかも一枚の曲面であるかのように溶け込ませあうためには、数学的な幾何的連続性を確保しなければならない。

NURBSの特徴を活かし、高度なモデリングツールでは幾何的連続性を様々なレベルで実現することが可能である。

位置連続Positional continuity (G0): 2つの曲線・曲面が当該部分で「接続」されていることを保証する。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:41 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef