また三角関数の復習。とりあえずいつものところ(基本)までは終わった。

もう基本までを繰り返しているの4回目かな。既に頭が超揮発性だからね。
安物のDRAM頭は定期的にリフレッシュしてやらないといけないw

Flexなどで使うときは既製のものをいじればいいんだけど、今回は基本よりもう少し先に進めようかと思ってる。次は正弦定理とか余弦定理とか。

以前作ったこのFlashの元になってる練習サンプルを作るときに勉強していて、とりあえず円周回軌道については以下のような式を作った。
Youtube動画をくるくる回しているところね。

いろいろ書き方あるけど例えば、
x座標=中心座標(X)+半径*cos(2π*(割合/円周分割数))でおk。
y座標はsin()になるだけ。
用語がおかしいかもしれんけど勘弁。

ちこっと復習ついでに説明しておくと。

ASで書くと例えば、
this.x = 400 + 100 * Math.cos(Math.PI*2 * (i/360));
this.y = 400 + 100 * Math.sin(Math.PI*2 * (i/360));
でタイマーイベントで定期的に呼び出してやればいい。

この式のcos(),sin()の中の式は角度αを算出している。度数じゃなくてラジアン。
b辺が単位円で1固定なので、c辺の長さ(x座標)は公式cosα=c/b で c/1=c つまりc=cosα
aの長さ(y座標)は同じく公式sinα=a/b で a/1=c つまりa=sinα
つまりはまんまsin(α),cos(α)で半径1のときのC点の座標が求まるわけだ。
このままだと半径1なので実際の半径を掛けてやる。それが上記式の100(px)
そしてまだ円の中心がX:0,Y:0のままなので、中心座標を0,0に加算してやる。それが上記式の400(px)

図2のの点が図1のC点になる。
角αが開くことによって反時計回りに動いていくわけだ。

楕円軌道にしたいときは、それぞれの半径を違う値にしてやればいい。

図1
ぶにゃの日記

図2
ぶにゃの日記

ただ、PC画面上ではy軸の+-が逆になるのでこの三角が図1のc辺線対称で下を向いた状態になる。
動く方向も時計回りになる。
それだけ気をつけていればおk。

これを繰り返し読んでる。今回は基本の先に踏み込んでやる。
ズバリ図解 三角関数―三角関数の基本概念をわかりやすい絵で一発解説! (ぶんか社文庫―ズバリ図.../深川 和久

¥680
Amazon.co.jp

オイラーの贈物―人類の至宝eiπ=-1を学ぶ/吉田 武

¥1,890
Amazon.co.jp

プログラマの数学/結城 浩

¥2,310
Amazon.co.jp