actionscript3.0 基本 三角関数を使った円運動
actionscriptをある程度扱えるようにはなってきたが、
3Dを扱うとすぐに頭が混乱する。
もう一度、一から勉強してみようと思う。
一番最初に、三角関数を使った運動を考えて見ます。
これが、全ての基礎になるはずなので、sin,cos,tanは何をしてるのか理解しておく。
actionscriptで三角関数を使って値を求めるときは、以下の式?をつかいますが、
これは、そもそも何を求めているのか?
var sin:Nmber = Math.sin("ラジアン角度");
var cos:Nmber = Math.cos("らじあん角度");
var tan:Nmber = Math.tan("ラジアン角度");
これらの公式は
sinは斜辺と対辺の比率を。
cosは斜辺と隣辺の比率を。
tanは隣辺と対辺の比率を。
それぞれ求めることになります。
比率が分かるということは、斜辺と角度さえ分かれば、その座標が分かるということ。
言葉にすると意味が分からないですね。ぼくの言い方悪いだけか;

中学生?の時にたぶん習ったと思います。たぶん。
それはこういった公式でした。

これを円運動に活用します。
斜辺と角度さえ分かれば、対辺と隣辺がわかるのです。
言い換えると、
回転の中心点「A」から角度30度の傾きで100pxの線を引いた「B点」の座標を求めることができます。
円運動をさせたい場合はenterFrameなどで角度を足していってあげればよい。

//sinとcosを求める //[Math.PI / 180]私達が普段つかっている角度から //ラジアン(角度)に変換する。 var sin:Number = Math.sin(rotate * Math.PI / 180); var cos:Number = Math.cos(rotate * Math.PI / 180); //求めた比率を使って対辺と隣辺の長さ(距離)を求める //これがFlashでつかうx座標(隣辺),y座標(対辺)になる。 対辺 = sin * 100; 隣辺 = cos * 100;
実際の動くコードは以下のようになります。
三角関数の理解の助けになれば幸いです
また、度からラジアン ラジアンから度への変換は以下のように行うので
丸暗記しておくのがよいかと思います。
radian = 角度*Math.PI/180; degrees = ラジアン*180/Math.PI;

