1 基本概念

NURBSは、曲線や曲面を数理的に表すための標準的な枠組みである。制御点重み節点ベクトルを組み合わせることで、単純な線分から複雑な自由曲面まで同じ仕組みで記述できる。形状を細かく調整しやすく、設計や描画の現場で扱いやすいことが特徴とされる。

1.1 定義

NURBSは、非一様有理Bスプラインを意味する。Bスプラインの基礎に有理式を導入し、さらに節点の間隔を一定にしないことで、柔軟な形状記述を可能にする。曲線だけでなく曲面にも拡張でき、精密な幾何表現に用いられる。

1.2 名前の意味

名称は、Non-Uniform Rational B-Spline の頭字語である。非一様は節点間隔が均等でないこと、有理は分子と分母を持つ比の形で表されること、Bスプラインは滑らかな分割基底を使うことを指す。これらの性質を組み合わせた表現法として理解される。

1.3 利用分野

NURBSは、CADやCG、工業デザイン、解析用モデリングなどで広く使われる。車体外板や航空機胴体のような滑らかな外形、製品の意匠面、アニメーションの形状制御にも適している。幾何を厳密に扱えるため、設計変更を伴う工程で特に有効である。

2 数学的基礎

NURBSの理論は、パラメータに基づいて形状を表す考え方に立脚する。座標そのものを直接結ぶのではなく、パラメータの値に応じて点を生成するため、曲線や曲面の制御が体系的になる。Bスプラインの局所性と、有理表現の厳密さが結びついている点が重要である。

2.1 パラメトリック曲線

パラメトリック曲線は、各点を一つの変数で表す方法である。たとえば、x座標とy座標を別々の関数で与え、同じパラメータから一組の座標を得る。これにより、形状の走査方向や局所的な修正を制御しやすくなる。

2.2 ベジェ曲線との関係

ベジェ曲線は、少数の制御点で形を定める代表的な曲線であり、NURBSの理解の基礎になる。NURBSは、区間ごとにBスプライン的な局所制御を行いながら、必要に応じてベジェ曲線と同様の直感的な編集性も持つ。次数や節点の設定によって、より複雑な形状を効率よく表せる。

2.3 ブレークポイントと節点ベクトル

節点ベクトルは、パラメータ空間を区切る値の列である。各節点は基底関数の有効範囲を定め、どの区間で形状が影響を受けるかを決める。ブレークポイントは、曲線の構造が変化する境界として機能し、分割や接合の考え方と結びつく。

2.4 重み付き有理表現

有理表現では、各制御点に重みを与え、その影響の強さを調整する。重みが変わると曲線は制御点へ引き寄せられたり、逆に遠ざかったりする。これにより、円弧や楕円などの円錐曲線を正確に表現でき、単なる多項式曲線よりも表現力が高まる。

3 NURBS曲線

NURBS曲線は、制御点列と基底関数、重み、次数によって定義される。局所的な編集がしやすく、少数の操作で滑らかな変形を実現できる。設計作業では、形状の微調整と安定した再計算が両立しやすい点が重視される。

3.1 制御点

制御点は、曲線の骨格を与える点である。曲線は通常、制御点をそのまま通過しないが、それらの配置に強く影響される。制御点を移動すると周辺部分の形が変化し、全体の流れを保ちながら調整できる。

3.2 基底関数

基底関数は、各制御点が曲線に与える寄与を決める関数である。NURBSでは、Bスプライン基底を用いて局所的な影響範囲を持たせる。隣接区間で滑らかにつながるため、自然な曲率変化を表しやすい。

3.3 曲線の次数

次数は、曲線の滑らかさや表現可能な形の複雑さに関係する。低い次数は扱いやすく、高い次数は柔軟だが計算や制御がやや繊細になる。実務では、必要な精度と処理の安定性を見ながら選択される。

3.4 形状の変更と編集

NURBS曲線の編集は、点を動かすだけでなく、重みや節点の調整も含む。これらの操作は互いに異なる効果を持ち、局所的な修正から全体の曲率調整まで対応できる。工程ごとに目的が異なるため、適切な手段の選択が重要である。

3.4.1 制御点移動

制御点を動かすと、曲線の近傍が連続的に変形する。変更の影響は全体に広がるが、基底関数の局所性により、遠方への波及は抑えられる。これが直感的な編集を可能にする。

3.4.2 重みの調整

重みを増減すると、曲線は特定の制御点へ強く引き寄せられる。これにより、形の張り具合や曲率の集中を細かく制御できる。円弧の精密表現にも関わる重要な操作である。

3.4.3 節点の変更

節点を変更すると、パラメータ分布や局所的な自由度が変わる。密度を高めれば特定部分の制御が細かくなり、間隔を広げれば変化はなだらかになる。構造の再設計に近い役割を持つ。

4 NURBS曲面

NURBS曲面は、曲線の考え方を二方向に拡張したものである。パラメータを二つ用いることで、面全体を滑らかに定義できる。建築意匠や製品外装のような複雑な三次元形状に適している。

4.1 テンソル積形式

多くのNURBS曲面は、二つの曲線基底を組み合わせるテンソル積形式で表される。これにより、u方向とv方向の独立した制御が可能になる。格子状の構造を持つため、編集の見通しがよい。

4.2 曲面の制御格子

曲面の制御格子は、制御点を二次元配列に並べたものである。格子の各点が面の一部に影響を与え、局所的な変形を支える。行や列に沿った調整で、面の流れを保ちながら修正できる。

4.3 曲面の分割と接続

曲面は、必要に応じて複数のパッチに分けて扱われる。接続時には、境界での連続性を保つことが重要であり、隙間や折れが生じないよう調整する。大規模なモデルでは、分割管理が作業効率に直結する。

4.4 曲面の編集操作

曲面の編集では、全体を反転させたり、尺度を変えたり、局所だけを修正したりする操作が用いられる。形状の一貫性を維持しつつ、必要箇所だけを整える点にNURBSの利点がある。

4.4.1 反転

反転は、パラメータ方向や法線向きを入れ替える操作である。面の向きはレンダリングや製造工程に影響するため、向きの統一は実務上重要である。接続面の整合にも関わる。

4.4.2 伸縮

伸縮は、特定方向に長さや広がりを変える変形である。格子構造を利用すれば、局所を保ちながら全体の比率を調整できる。設計段階のスケール変更に有用である。

4.4.3 局所修正

局所修正は、面の一部だけを細かく整える操作である。周辺領域への影響を抑えつつ、凹凸や曲率の不自然さを修正できる。高品質な外形づくりでは頻繁に使われる。

5 幾何学的性質

NURBSは、滑らかさと厳密性を両立しやすい。連続性の階級を管理しながら、必要な形を数学的に記述できるため、設計と解析の両面で扱いやすい。近似と厳密表現の両方に対応できる点も重要である。

5.1 連続性

連続性は、曲線や曲面のつながり具合を表す概念である。位置だけが一致する場合もあれば、接線や曲率まで一致させる場合もある。NURBSでは節点や次数の設定により、求める連続度を調整できる。

5.2 微分可能性

微分可能性は、滑らかさを数学的に評価する指標である。十分な滑らかさがあれば、接線や法線、曲率の計算が安定する。工学用途では、流れや応力の解析との相性を左右する要素でもある。

5.3 正確な円錐曲線表現

NURBSの大きな利点の一つは、円、楕円、放物線、双曲線といった円錐曲線を厳密に表せることである。多項式近似ではなく有理式を使うため、幾何学的な誤差を抑えやすい。これは製図や加工の精度に直結する。

5.4 近似と補間

NURBSは、与えられた点列をそのまま通る補間にも、点群に近づける近似にも利用できる。目的に応じて制御点や重みを調整し、必要な形へ収束させる。データの性質に合わせて柔軟に運用できる点が強みである。

6 計算手法

NURBSの実用には、安定した評価と効率的な計算が欠かせない。曲線値の算出、分割、再構成などは、幾何処理の基本操作として繰り返し使われる。アルゴリズム設計では、速度と精度の両立が求められる。

6.1 評価アルゴリズム

評価アルゴリズムは、特定のパラメータ値に対する点を求める手続きである。基底関数と重みを使って、曲線上の座標を計算する。CADや描画では、この評価が大量に実行されるため、高速性が重要になる。

6.2 再帰計算

再帰計算は、基底関数を段階的に構成する方法である。低次から高次へ値を組み上げることで、NURBSの基礎となるBスプライン計算を行う。概念的には明快で、実装上も広く利用される。

6.3 数値安定性

数値安定性は、丸め誤差や桁落ちの影響を受けにくい性質を指す。重みが極端な場合や、節点が密集する場合には、計算結果が不安定になることがある。そのため、実装では再正規化や例外処理が重視される。

6.4 分割アルゴリズム

分割アルゴリズムは、曲線や曲面を複数部分に切り分ける方法である。局所処理、細分化、接合準備などに使われる。複雑な形状を扱う際は、分割によって計算の見通しを高めることが多い。

7 応用

NURBSは、精密な形状制御が必要な分野で基盤技術となっている。見た目の滑らかさだけでなく、製造や解析との整合が求められる場面に強い。産業分野では、修正しやすさと標準化された表現が大きな利点になる。

7.1 CAD/CAM

CAD/CAMでは、設計形状の定義から加工データの生成までNURBSが使われる。設計意図を保ったまま、加工用の曲面情報へ変換しやすい。工具経路の計画でも、滑らかな形状記述が役立つ。

7.2 コンピュータグラフィックス

CGでは、キャラクターや背景、プロップなどの形状生成に利用される。アニメーションでは、自然な曲面変形や精密な外形管理に向いている。レンダリング前のモデリング基盤として重要である。

7.3 工業製品設計

製品設計では、筐体、家電、自転車、家具などの外形づくりに活用される。見た目の質感だけでなく、手触りや加工性も考慮しながら面を調整できる。意匠と機能の両立を支える方法として用いられる。

7.4 自動車・航空宇宙分野

自動車や航空宇宙では、空力特性や製造精度の観点から滑らかな曲面が重要である。NURBSは、複雑な外板や翼面を整合的に表現しやすい。設計変更にも対応しやすく、試作や検証の効率化に寄与する。

8 実装と標準化

NURBSを現場で扱うには、データ構造、交換形式、ライブラリの整備が不可欠である。異なるソフトウェア間で形状を損なわずに受け渡すため、表現の互換性が重視される。標準化は、長期運用や共同作業を支える基盤となる。

8.1 データ表現

データ表現では、制御点、重み、次数、節点ベクトルをどのように保持するかが中心になる。数値精度や座標系の扱いも重要で、保存形式によって再現性が変わる。効率と可搬性の両方を考慮する必要がある。

8.2 ファイル形式

ファイル形式には、NURBS情報を含むさまざまなCAD交換仕様がある。形状だけでなく、単位系やレイヤ、属性情報も併せて記録されることが多い。実務では、目的に応じて適切な形式を選ぶことが求められる。

8.3 ソフトウェアライブラリ

ソフトウェアライブラリは、NURBSの評価、細分化、変換を共通化する。開発者はこれを利用して、独自に基礎計算を実装せずに済む。高品質なライブラリは、安定性と保守性の向上に貢献する。

8.4 相互運用性

相互運用性は、異なるシステム間で形状情報を正しく交換できる能力である。節点の解釈や精度の違いにより、見た目や寸法がわずかに変わることがある。したがって、標準の遵守と検証手順が重要になる。

9 関連項目

NURBSは、他の曲線・曲面表現と密接に関係する。特にBスプラインやベジェ曲線は、構造や考え方を理解するうえで有用である。幾何モデリング全体の中では、形状表現の一方式として位置づけられる。

9.1 ベジェ曲線

ベジェ曲線は、制御点に基づく滑らかな曲線である。直感的な設計に向き、グラフィックス分野でも広く知られる。NURBSの概念を学ぶ際の比較対象として重要である。

9.2 スプライン曲線

スプライン曲線は、複数の区間をつないで滑らかにする曲線群を指す。局所制御ができるため、大きな形状の調整に適している。NURBSは、その発展形として理解されることが多い。

9.3 ベース関数

ベース関数は、複数の制御点の寄与を分担する関数である。形状の滑らかさや局所性は、この関数の性質に左右される。NURBSでは、基底の設計が表現力の核となる。

9.4 幾何モデリング

幾何モデリングは、物体の形を数学的に構成する分野である。NURBSは、その中でも滑らかな曲面を精密に扱うための中心的技法の一つである。設計、解析、可視化を結ぶ共通基盤として機能する。