edo1z blog

プログラミングなどに関するブログです

Javascript Math.sin(rad) サインを求める

Math.sin(rad)でサインを求められる。引数のradはラジアン。ラジアンがよく分からない。

コンピュータゲームの物理という私のバイブルによると、ラジアンは角度を表す方法の1つのようだ。我々は360度で一周する方法をいつも使っているが、この360という中途半端な数字は、そもそも1年が360日だと思われていた頃の名残であること以外に理由はないそうだ。プログラム等で計算する場合もっと使い易い角度表記がないものかと、考えられたのがラジアンであるということだ。

ラジアンは、半径1の円を基準にした角度表記であるそうだ。ラジアンは、半径1の場合に角度がθだった場合の円周の長さのことである。つまり、角度θを半径1の場合の円周の長さで表すのがラジアンである。ちなみに、π(約3.14)は円周の長さが直径の何倍になるかを表した数字である。例えば半径1であれば、直径は2なので円周は、2π(約6.28)である。

つまり、360度をラジアンで表すと、2πということである。180度ならばπである。1度であれば、π/180ということだ。

ラジアンのすごいところは、360度表記と比べて円周の長さという実際の値に対応しているところと、長さと角度が完全に完全に一対一になっているところだそうだ。あんまりすごさが分からないが、確かに360度の360という数字自体には何の意味もないことはよく分かった。コンピュータがラジアンを使いたくなる気持ちも分かる。

さてこれでラジアンが分かったので、最初のMath.sin関数をみると、引数がラジアンなので、Math.sin(30度)ではいけない。これをラジアンに変えて引数に投入するので、Math.sin(30*Math.PI/180)となる。