NURBS (非一様有理Bスプライン)




github | naochang | Curve

NURBSはNon-Uniform Rational B-Splineの略で、非一様有理Bスプライン。非一様なのでノットが一様ではなく、\((t_{i-1} \leq t < t_{i+1})\)の範囲で調整が可能。また有理なので、有理ベジェ同様に重みを加えたものがNURBS。 B-Splineでは滑らかな曲線が作れたが、NURBSの方は自然かつ意図的なカーブが作れる。製品の3DCGやCADなどによく使われる。

バースタイン基底関数は前回の投稿同様で、曲線の定義は制御点の数を\(m\)、階数を\(n\)、B-スプライン基底関数を\(b_i^n(t)\)とすると

\begin{align}
P(t) = \frac{\sum_{i=0}^{m-1}b_i^n(t)w_iP_i}{\sum_{i=0}^{m-1}b_i^n(t)w_i}
\end{align}

あとは式に従ってプログラムを実装だけど、B-スプラインのプログラムを継承して計算方法を変えてみたので、あまり洗練されていないコードかも…

参考)
株式会社エムシースクウェアド | 研究室 | NURBS ノンユニフォームでラショナルなBスプライン
非一様有理 B-スプライン曲線の一考察
SFC Design theory 2012 6/20

“NURBS (非一様有理Bスプライン)” への1件のコメント

  1. […] NURBS (非一様有理Bスプライン) B-スプライン曲線を拡張したもので自然なカーブに変化をつけられる。 […]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です