Math
音階の周波数の計算方法を前回の記事で書いたけど、それを元にFlash Player 10のDynamic Sound Generateで音楽を奏でるために、C-1〜G9までの音の周波数を確認するサンプルを作ってみた。
※ちなみに音は鳴りません。
A4(ラの音)の周波数(基準周波数) : 440(440〜445くらいらしい)
A4(ラの音)の数値(ノートナンバー) : 69
指定音の数値(ノートナンバー) : N
※一番下のドの音がC-1(0)〜一番上のソの音のG9(127)まで。
音程差 : D
音階の周波数 : H
D = Math.abs(N - 440)
A4より下の音
H = 440 / Math.pow(2,(D / 12))
A4より上の音
H = 440 * Math.pow(2,(D / 12))
※Math.powは累乗計算。この場合は、2のD / 12乗。
運動量保存の法則の公式
質量 : M
速度 : V
衝突後の速度(運動量保存) : VF
VF1 = ((M1 - M2) * V1 + 2 * M2 * V2) / (M1 + M2)
VF2 = (V1 - V2) + VF1
2点(2つの座標)間の角度を求める。
Aの座標 : (AX,AY)
Bの座標 : (BX,BY)
X座標での2点間の距離 : DX
Y座標での2点間の距離 : DY
角度(ラジアン) : Angle
DX = AX - BX
DY = AY -BY
Angle = Math.atan2(DY,DX)
2点(2つの座標)間の距離の距離を求める。
Aの座標 : (AX,AY)
Bの座標 : (BX,BY)
X座標での2点間の距離 : DX
Y座標での2点間の距離 : DY
距離 : D
DX = AX - BX
DY = AY -BY
D = Math.sqrt(DX * DX + DY * DY)
