頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


ベジェ曲線を分割する方法

ベジェ曲線があって、それを分割する時に元々の線が変わらないようにするには制御点をどうすればいいんだろうってお話。
イラストレーターやiDrawなんかには実装されてるよね。

ベジェ曲線の分割

P0,P1,P2,P3で表される三次のベジェ曲線があって、その線上で点および制御点二つを追加する場合に元々の線が大きく動くのはなんとも手抜きじゃない?
それでどうやったら元の線はそのままで点を追加できるんだろうって調べていたんだけどさ、、、
De Casteljau's algorithmとか二項係数とかなんともややこしそうで、心が折れる寸前だったんだ。
ところが
s.h's page - [graphic] ベジエ曲線
というサイトの「分割の巻」ってところにある説明で、え?それだけでいいの?ってことで内分する点を求める関数作って実装してみたら、、、

ベジェ曲線の分割実装例

一撃じゃないか!助かったよ、ありがとう!
※上の図はテスト画面で濃い赤のマル部分で追加してみたところ

<< iOS 7のMultipeerConnectivityでストリーミングしてみた   TopPage  配列に入れた構造体は書き換えるのに一手間必要 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/815-4127d18c




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad