二次ベジェとか三次ベジェとか

bezierdrawer

fl.motion.BezierSegmentを描画に使おうとするとメソッドが色々足りない。例えば「三次ベジェはあるけど二次ベジェはない」とか「getYForX()はあるのにgetXForY()はない」とか「近似でいいから長さも求めたいな」とか「描画にもっていくためにはgetValue()叩きまくらないといけない」とか・・・
パッケージがfl.motionってことでモーションに使うんだろうから文句言えない。で、こんなのつくってみた。

左が二次ベジェで右が三次ベジェ。白いベジェを自作クラスで描画、後ろの青いベジェを二次はcureveToで三次はfl.motion.BezierSegmentで描画。媒介変数が0.5のときの傾きが赤い線。x=400の時のyの値が青い丸、y=300の時のxの値が赤い丸。

もうちょっとまとめてから、SparkProjectで公開する予定。需要はまだない。


About this entry