タグ

ブックマーク / nutsu.com (3)

  • NUTSU » [as]Tween on Spline Curve

    最近、Tween系のライブラリは群雄割拠の様相を呈しているけど、僕は相変わらずTweenerです。慣れてるし量的な感じになると自前実装だし。 てなわけで、Tweenerの拡張をひとつ。Tweenerにはベジェ曲線上をTweenさせる「_bezier」があるのだけど、それのスプライン曲線版 「SplineModifiers」 です。 できあがりはこんな感じ。ポイントドラッグして曲線を変えてみてください。 使い方はこんな感じ。 import caurina.transitions.Tweener; //初期カー SplineModifiers.init(); //_splineで使えるよ Tweener.addTween( moveObj, { x:targetX, y:targetY, time:2, _spline:[ {x:x1,y:y1}, {x:x2,y:y2}, {x:x3,y:y

  • [as]なにやらめちゃくちゃわかりやすいMatrixによる変形のこと [NUTSU]

    今さらながら、flash.geom.Matrixによる変形のことで何か書いてみます。Matrixについてヘルプやマニュアルでは拡大やら回転やら移動やらの説明しかなくて何だかわかりにくく書いているように思える。学校で習ったアフィン変換としては素直な説明に読めるけど、変形したいだけの人からしたら何だかわかりにくい。この説明を読むとどうしても「回転」して「縦に伸ば」して「移動」、これらをconcatすればええのかなぁみたいな思考になってしまう。確かに行列として考えたほうが数学的には分かりはいいけど。あまりとかサイトとかよく見ているほうではないので分かりませんが、Matrixについては大抵こんな説明なような気がする。(違ってたらごめんなさい)。というか「Matrixがいまいち」と言うとなりの人向けに書いているわけですが。 で、下のサンプルですが、白○をドラッグすると青いMovieClip(mc)

  • NUTSU » [as]直線と点の距離

    直線と点の距離をActionScriptで計算してみようと思います。非常に月並みですが、地味な感じですが。 直線は、例えば「y=ax+b」で表現されますが、一般的には「ax+by+c=0」になります。 この式の意味するところは、c=0 のとき、「ax+by=0」を考えるとわかりやすいかもしれません。 係数a,bをベクトルv、座標(x,y)をベクトルw1とすると、「ax+by=0」というのは、vとw1の内積になります。 ベクトルv1[x,y]とベクトルv2[x,y]の内積 v1.x*v2.x + v1.y*v2.y = v1.length*v2.length*Math.cos(radian) 内積が常に0になる、ということなので、Math.cos(radian)が常に0になるということです。 つまり、w1は常にvに対して垂直なベクトルになります。この点の集合が直線になります。 次に、直線「a

  • 1