次数と曲線

次数と曲線

NURBSや次数の数学的な解説は他のWebサイトでいろいろ紹介しているので次数と曲線・曲面の構造を知りたい場合は他のサイトを参照して下さい。

このサイトでは次数や編集点をうまく使いこなす感覚を感じ取ってもらえるような解説を行います。

制御点の数と次数の関係

プロダクトデザインで使われる次数(次数3(状況によっては次数5)を使うことで作りたい形をほぼ作ることが出来る。線の次数を扱う感覚は曲面でも同じと考えてよい)

Rhinoは次数32にまで設定できるが、プロダクトデザインでは特別なことが無い限り以下の5種類で目的の形を作ることができる。

次数1の線=直線・平面(2つの制御点を持つ)
次数2の線=円・楕円・球・楕円球(3つ以上の制御点を持つ)
次数3の線=自由曲線・自由曲面(4つ以上の制御点を持つ)
次数5の線=自由曲線・自由曲面(6つ以上の制御点を持つ)次数3より変形自由度が高い線
次数7の線=自由曲線・自由局面(9つ以上の制御点を持つ)次数3と5より変形自由度が高い線

制御点をユーザーが設定して出来る曲線(ユーザーが自由に制御点をクリックしてできる曲線)と数学的にスムース性を調整した線 (リビルドした線) の違いについて・・・・

同じ位置に配置した6つの点を使った異なる次数の曲線


全ての線を選択し、を使って制御点を表示させると6か所の同じ位置をクリックして線を作図したことがわかる
制御点を非表示にし、
れぞれの線をRhinoがどのように解釈しているかを知るためにプロパティーの最下段に表示される「詳細」ボタンを押す

次数1の線を選択し、「詳細」ボタンを押す

このウインドウで次数=1 制御点=6が確認できるので設定した通りの線であることがわかる

この操作でそれぞれの線を確認すると次数=5までは設定した通りの線であることが確認できる
しかし次数=7を設定した線を選択して線の属性を確認すると
次数=5   制御点=6になっている
これは次数=7の線には制御点が8以上必要だが、制御点が6しかないので次数7の条件を満たすことが出来なかったので自動的に次数5になった結果である

コマンドラインに次数7を入力し、8つの制御点で曲線を再度描いてその線の属性を確認してみる

次数7を設定し、8つの制御点を使った線の詳細を確認する

次数=7であることが確認できる

次数=3に設定し、制御点=8で線を書いてその線の属性を詳細で確認してみる

属性を確認するために新たに書いた制御点8・次数3の制御点表示を消し、線を選択し、詳細画面を見る

次数=3 制御点=8になっていることが分かり、想定した通りの線であることが確認できる

制御点のリビルドについて

異なる次数を設定し、同じ場所をクリックして作った複数の線がどのように違っているかどうか確認する

6つの同じポイントをクリックした次数=1、次数=2、次数=3、次数=5を重ねて比較してみる
同じ数の同じ場所をクリックして作図した線は次数が上がるとなだらかになっていることがわかる


それぞれの線の曲率をを使って確認してみる
次数=1は曲率が無いので曲率グラフは表示されない
同じ数の同じ場所をクリックして作図した線は次数が上がるほど曲率の連続性が高い事がわかる

これまで作図してきた線はユーザーが任意の場所をクリックして作った線なので必ずしも連続性が保たれた線では無いのでそれぞれの線にを使って同じ次数の線のリビルド操作を行う
リビルド後、制御点の位置が自動的に変わっていることが確認できる

リビルド前とリビルド後の曲率グラフを表示する
次数5以外の次数の線の形が変化していることが確認できる
リビルド後、スムースな曲率連続していることがわかる

それぞれの線を重ねて変化量を確認する
6つの同じ場所をクリックして作図した線の中で次数5が最もきれいに曲率連続していることがわかる(黒の線がリビルド前、ピンクの線がリビルド後)

リビルド後の線の制御点を移動させて線の形を変形させる
それぞれの線の左から3番目と4番目の制御点を移動させて線を変形させ、を使って曲率グラフを表示させる
6つの同じ場所をクリックして作図した次数5の線以外は制御点が移動し、線が変形し、曲率連続性が低下していることがわかる

制御点の数と次数の設定は曲率性に影響を与えていることがわかる

4つの制御点を使った次数1、2,3の線を作図する
先の説明で次数5を作図するには制御点が6つ以上なければならないので4つの制御点では次数5の線は作図できない

使ってそれぞれの線の曲率グラフを表示する

リビルドすると制御点の位置が移動して曲率の連続性が増す

リビルド前とリビルド後の線の変化を確認する
それぞれ同じ場所の制御点4つを使った線をリビルドした結果、次数3の線の変化が最も少ないことがわかる(黒の線はリビルド前の線、ピンクの線はリビルド後の線)

リビルド後のそれぞれの線の制御点を表示させ、位置を移動させ線を変形させて曲率の連続性を確認する
次数3の線は曲率連続性を保ちながら線が変形していることがわかる

これまでの説明でわかるように
次数+1の数の制御点で描いた線の連続性は制御点を移動させても保つことが出来る
次数+1以上の制御点で描いた線の制御点を移動させると連続性が低下する

Point:
1・ スムースな自由曲線を描く場合は次数3以上の制御点を4つ以上用使った線を描く
2・ 自由曲線の制御点を変更しても曲率連続を保ちたい場合は次数+1の数の制御点を使った線を描く
3・ 自由曲線を使ってデザインする場合、次数1,2,3,5,7の範囲で描いたほうが線の形を後で編集しやすい(可能あれば次数3か5で書く)
4・ 作図した線の連続性を高めるにはリビルドしたほうが良い(リビルドすると形が変わるので注意)

リビルド曲線

描いた曲線をリビルドするときに制御点を増やすと描いたオリジナルの線の形に近づく
4つの制御点を持つ次数3の曲線を描く


この曲線を同じ制御点数と同じ次数でを使ってリビルドする
オリジナルの次数3で書いた曲線と次数3でリビルドした曲線を重ねてみる

ほぼ同じ曲線の形だが若干違うことがわかる
オリジナルの次数3・制御点4の曲線を次数3・制御点12でリビルドする
オリジナルの曲線の形に比べ、リビルドした曲線の形はほぼ同じになったが、曲率連続が低下している

オリジナルの次数3・制御点4の曲線を次数3・制御点30でリビルドする
オリジナルの曲線の形に比べ、リビルドした曲線の形はほぼ同じになったが、細かな部分で曲率連続が低下している
実際はこのように制御点を多く配置してモデリングすることはない(編集が難しくなるので)

自由曲線を描くときに次数+1の制御点で描けば曲率連続性が担保されるので曲率連続のためのリビルドは必要ないが(デザイン的に折れ線を意識的に作りたい場合を除いて)、次数より多い制御点を設定した線の制御点の位置を編集する場合、曲率グラフを確認しながら曲線の変形操作を行う
制御点が多い曲線は以下の赤丸部分のように曲率連続を保つ編集が難しいので、特に目的がない限り次数+1の制御点で曲線を描いたほうが良い

上記のような曲線を描くにはおおよそ3つの方法がある

① 次数の多い1本の曲線で描く方法
② できるだけ単純な次数を複数組み合わせて曲線を作る方法
③ 複数の特徴となる曲線を描き、その間をツールを使って接続する方法

① 次数の多い1本の曲線で描く方法
描きたい線が幾つの弧でできているかで最小の制御点の数を決定する
1つの弧には最低2つの制御点が必要
描こうとしている線の形は4つの弧(8つの制御点)で出来ているので開始点と終了点を合わせて合計10個の制御点が最小数の制御点設定となる


曲率連続性を保った10個の制御点を持つ次数は9なので、を選択し、コマンドラインに次数9を設定し、各弧に2つずつのポイントを配置しながら曲線を描く(線の形は後で編集して整えるので、書き始めの線の形は気にしない)

目的の形の線になるように各制御点を移動させる

制御点を移動させて編集した線の曲率グラフを表示させる
線の曲率が連続して変化していることがわかる

② できるだけ単純な次数を複数組み合わせて曲線を作る方法
Sの形の曲線を表現できる次数5・制御点6の曲線を2本(AとB区間) Cの形の曲線を表現できる次数3・制御点4の曲線1本(C区間)の3本を組み合わせた曲線を作図


を選択し、Bの左端を最初に選択し、次にAの右端を選択すると「曲率をマッチング」ウインドウが表示される

以下のように「連続性」に「接線」を選択し、「反対側の端を維持」を「なし」にチェックを入れて「OK」を押す

同じようにを選択し、Bの右端を最初に選択し、次にCの左端を選択し、表示されたウインドウに同じ設定をして「OK」を押す
曲線を全てべて選択し、を選択して曲率グラフを表示させる
A部分の曲率が急激に下の膨みから上に膨みに変化しているが、変化が1直線であることから「接線」で接合していることがわかり、この線を使ってサーフェースを作ったとしてもこの部分にエッジが出ないことがわかる
B部分は2つの曲線が同じ下方向に膨らみ、曲率が急激に異なっているが、曲率グラフの変化部分が1直線上にあるので接線で連続していることがわかる。この部分を使ってサーフェースを作ったとしてもこの部分にエッジが出ないことがわかる

接線接続した3つの曲線をオリジナルの次数と制御点と同じ条件でリビルドする
ピンクの線が接線接続したオリジナルの曲線
青の線がリビルドした曲線
制御点の位置は異なっているが線の形は似ている
制御点が少ないので単純な複数の曲線を接線、又は曲率でつなぎ合わせる方法はサーフェースモデリングに有効である

③ 特徴となる曲線を作り、その間をツールを使って接続する方法

を選択し、コマンドラインに次数3を設定
4つのポイントを使って部分的な弧を4か所作図する

を選択し、1の線の右末端と2の線の左末端を選択すると
「曲線ブレンドの調整」ウインドウが表示される
この例では「連続性」に「曲率」を選択して「OK」を押した


この操作を残りの2か所に施してすべての線を連続する

を選択し、曲率グラフを表示させる
接続部分の曲率変化はあるものの、つないだ線同士の曲率グラフに隙間があったり、重なっていないので連続性が保たれていることがわかる

以下はつないだ線の連続性が失われている場合の曲率グラフ

曲率グラフが重なっている                    曲率グラフが離れている

        

 


コメントを残す

サンプルファイルダウンロード

※サンプルファイルはrhinoceros5.0で作られています。

目次を自動で