SSブログ

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

前回、単位円をBezier曲線で近似する方法を考えた。完璧な近似ではないけど実用に耐える定式化ができた。たぶん他所も似たようなことをやっているんだろうと思う。これを単位円から一般の楕円に拡張する。

楕円への拡張

楕円も全く同じ考えからをしよう。
楕円の式をちょっと書き換えて

1006eq23.png
とする。つまり長軸に対する短軸の比をα(0<α≤1)としておく。 また、Bezier曲線の中間の制御点を
1006eq23p.png
とする。つまり、パラメータをkひとつだけにする。これは前回の単位円の場合と同じでy軸方向にαだけつぶしたものとみなすことになる。こうしていいかどうは後でわかることになる。

このの制御点を持つBezier曲線の、楕円との差

1006eq24.png
を計算してみる。具体的に書くと
1006eq25.png
となって、αに依存しなくなる。結局これは半径rの円と同じ式になって、前回の単位円の議論とまったく同じになる。 t=1/2で0になるようなkは
1006eq27.png
となる。つまり、例えばr=1のときはαの値によらず楕円からの(原点から外への方向へ測った)ずれは前回の図-8と全く同じになる、直感的にはなんか不思議だけど。また、αを1より小さい正の数としたけど、この結論には使っていない。つまり縦にのびた楕円でも式は同じになって、楕円の横方向を同じにすればどんな楕円でもずれは同じになる。あれえ、ほんとかあ?

とりあえず、前回の単位円のときと同じ意味でこれを楕円のBezier曲線による近似と見なすことにする。

楕円とBezier曲線はどちらもアフィン変換をほどこしても形式は変わらないので、今日の話はもっと一般的で、もっと簡単にできるかも知れない。けど、目的は達成したのでまあええわ、これで。

つぎはBezier曲線を途中で切ってふたつのBezier曲線にするにはどうするか、を考える。それができれば、カリグラフィの設定によってどんな方向を向いていても端点の形状を楕円(の近似のBezier曲線)の一部にすることができることになる。これはすでに一般論があって簡単である、という話だけはどっかで見た。今日は仕事も忙しかった上にいろいろあったので明日考えることにしてもう寝る。


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

nice! 0

コメント 0

コメントを書く

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

トラックバック 0

献立10/08献立10/09 ブログトップ

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