第一回、数学教室? (最終回)

JavaScriptで円グラフ作るのに、ちょっと三角関数勉強したんで、
自分でもわかる感じの低レベルな数学教室みたいのやります。
間違ってたらごめんね

円周率
円のいろんな数値を算出するのに使う。
くらいでいいです。
以後、πとします。

ラジアン
角度の単位で、
180°=π
360°=2π
になるようです。

なんでこの単位を使うのかはわからないんだけど、
中学校(だっけ?)でならった三角関数では、n°との対応表みて長さ調べてた気がするけど、
「360°=2π」から、
「半径=1」のときの円周は「1*2*π=2π」
ですから、「半径=1」の円の、ある角度の部分円の円周みたいな気がするわけで、
三角関数求めるのに部分円の円周が必要なんですかね?

JavaScriptに三角関数の関数が用意されてて、
三角関数のもとめかたは勉強しなかったんでラジアン使う意味はスルーしときます。

n°->ラジアン
「180°=π」なんで、
「n°*π/180」で求められます。

Math.atan2
JavaScriptで用意されてる関数で、座標を入力するとラジアンを返してくれる関数ですが、
    
 -1,11,1 
 -1,-11,-1 
    
みたいな座標だと、右半分は、時計回りで「0,1=0->0,-1=π」みたいになるんですが、
左半分は、半時計回りで「0,1=0->0,-1=-π」のように、-の数値になります。
座標を求めるのにはこの方が都合がよさそうですが、
「n°->ラジアン」と比較する際に不便なときは「ラジアン<0」のときに2πを足せばいいかんじです。

サイン
Math.sin
JavaScriptの関数で、ラジアンを渡すとサインを返してくれます。

-2,2  2,2
    
    
-2,-2  2,-2
のような座標で、「2,2」のラジアンを求めて、その値からサインを求めると、
「2,0と0,0を結ぶ辺=a」「2,0と2,2を結ぶ辺=b」「0,0と2,2を結ぶ辺=c」
の3点を結んだ直角三角形を考えて、
ラジアンは「半径=1」みたいな感じだから、
サインってのは「cの長さ=1」に縮小した直角三角形上の「b」の長さですから、(コサインは「a」)
サインに円の半径をかければ、その座標の角度のときの円周上の横軸の位置がわかります。

円の描画
-2,2-1,21,22,2
-2,1-1,11,12,1
-2,-1-1,-11,-12,-1
-2,-2-1,-21,-22,-2
実際には4x4じゃ円は書けないけど、
半径を決めた上で、こんな感じで座標を作って、
全ての座標を、
座標からラジアンを求める。
ラジアンからサインを求めて、半径をかける。(この値をxとします。)
で、xは、座標位置の角度のときの円周の横軸位置ですので、
座標の横軸位置がxより0に近い場合は円の内側、xの方が0に近い場合は円の外側。
となるんで、円が描けます。


posted by ST at 2006-05-14 21:41 | 雑記 | このブログの読者になる | 更新情報をチェックする