SSブログ

太さの変わるBezier曲線の生成 - その14 [考え中 - 太さの変わるBezier曲線]

うう、ねむい。そんな無理してやるようなもんでもないけど、前回の続き。曲線のオフセットの宿題。まず、具体的な例を計算してみて前回の答え合わせをしよう。

具体的な例

簡単な例で確かめてみる。

1115eq106.png
のような制御点を持つ3次のBezier曲線を考える。この曲線と制御点の位置は図-32ようになる。
1115fig32.png
これに以下のような楕円
1115eq107.png
で外形を作ってみる。この楕円は図-33のような形になる。
1115fig33.png
これに式-105に従って外形線を追加してみると図-34のようになる。
1115fig34.png
わかりやすいように図-34にtの値で0.1刻みに楕円を乗せてみた。
1115fig35.png
それぞれの点で外形線は楕円に接していることがわかる。考え方は間違ってないらしい。

曲線オフセットにまつわる問題

ただし、一つ問題がある。

例えばペンの形が半径rの円の場合に式-105を具体的に書いてみると

1115eq108.png
となる。ここで、
1115eq109.png
である。

式-108を見ればわかるようにP(t)が3次のBezier曲線であっても式-105で描かれた外形線Pu(t)とPd(t)は無理式になって、特別な場合を除いて3次のBezier曲線で表すことができない。何らかの形で近似が必要になる。

この問題は与えられた曲線に近いBezier曲線を生成する、という問題になる。これは結構難しい問題だよな。さらにUIを持ったソフトに実装することを考えると効率が重要になる。深みにはまりそう。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

献立11/20献立11/21 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。