太さの変わるBezier曲線の生成 - その14 [考え中 - 太さの変わるBezier曲線]
うう、ねむい。そんな無理してやるようなもんでもないけど、前回の続き。曲線のオフセットの宿題。まず、具体的な例を計算してみて前回の答え合わせをしよう。
具体的な例
簡単な例で確かめてみる。
のような制御点を持つ3次のBezier曲線を考える。この曲線と制御点の位置は図-32ようになる。 これに以下のような楕円 で外形を作ってみる。この楕円は図-33のような形になる。 これに式-105に従って外形線を追加してみると図-34のようになる。 わかりやすいように図-34にtの値で0.1刻みに楕円を乗せてみた。 それぞれの点で外形線は楕円に接していることがわかる。考え方は間違ってないらしい。曲線オフセットにまつわる問題
ただし、一つ問題がある。
例えばペンの形が半径rの円の場合に式-105を具体的に書いてみると
となる。ここで、 である。式-108を見ればわかるようにP(t)が3次のBezier曲線であっても式-105で描かれた外形線Pu(t)とPd(t)は無理式になって、特別な場合を除いて3次のBezier曲線で表すことができない。何らかの形で近似が必要になる。
この問題は与えられた曲線に近いBezier曲線を生成する、という問題になる。これは結構難しい問題だよな。さらにUIを持ったソフトに実装することを考えると効率が重要になる。深みにはまりそう。
2008-11-20 23:42
nice!(0)
コメント(0)
トラックバック(0)
コメント 0