三角関数(Math.sin, Math.cos, Math.tan, etc)

Math オブジェクトで用意されている静的メソッドの中で三角関数に関係する Math.sin, Math.cos, Math.tan メソッドおよびその他のメソッドの使い方について解説します。

(Last modified: )

三角関数の種類と使い方

JavaScript の Math オブジェクトでは三角関数に関係するメソッドとして次の 13 種類が用意されています。

Math.sin(x)    x のサインを返す
Math.cos(x)    x のコサインを返す
Math.tan(x)    x のタンジェントを返す
Math.asin(x)   x のアークサインを返す
Math.acos(x)   x のアークコサインを返す
Math.atan(x)   x のアークタンジェントを返す
Math.sinh(x)   x のハイパーボリックサインを返す
Math.cosh(x)   x のハイパーボリックコサインを返す
Math.tanh(x)   x のハイパーボリックタンジェントを返す
Math.asinh(x)  x のハイパーボリックアークサインを返す
Math.acosh(x)  x のハイパーボリックアークコサインを返す
Math.atanh(x)  x のハイパーボリックアークタンジェントを返す
Math.atan2(y, x)  引数で指定されたの比率のアークタンジェントを返す

数多くの種類がありますが、サイン(正弦)、コサイン(余弦)、タンジェント(正接)以外は何に使うのか分からないためここでは解説を省略させて頂きます。サイン、コサイン、タンジェントはそれぞれ次のように求めることができます。

三角関数の種類と使い方(1)

それではそれぞのメソッドについて順に見ていきます。

サイン(正弦)を取得する(Math.sin)

Math オブジェクトの Math.sin メソッドはラジアン単位で指定した引数の角度に対するサイン(正弦)を返します。書式は次の通りです。

Math.sin(角度)

角度に対するサイン(正弦)を返します。

※ 角度はラジアン単位で指定します。 180(度) = π(ラジアン) であり、 π は Math オブジェクトの静的プロパティで Math.PI と定義されています。例えば 90° は Math.PI / 2 、 45° は Math.PI / 4 です。

実際の使い方は次のサンプルをみてください。

Math.sin(Math.PI / 6);  // Math.PI/6 = 30°
>> 0.49999999999999994

Math.sin(Math.PI / 4);  // Math.PI/4 = 45°
>> 0.7071067811865475

コサイン(余弦)を取得する(Math.cos)

Math オブジェクトの Math.cos メソッドはラジアン単位で指定した引数の角度に対するコサイン(余弦)を返します。書式は次の通りです。

Math.cos(角度)

角度に対するコサイン(余弦)を返します。

実際の使い方は次のサンプルをみてください。

Math.cos(Math.PI / 3);  // Math.PI/3 = 60°
>> 0.5000000000000001

Math.cos(Math.PI / 4);  // Math.PI/4 = 45°
>> 0.7071067811865476

タンジェント(正接)を取得する(Math.tan)

Math オブジェクトの Math.tan メソッドはラジアン単位で指定した引数の角度に対するタンジェント(正接)を返します。書式は次の通りです。

Math.tan(角度)

角度に対するタンジェント(正接)を返します。

実際の使い方は次のサンプルをみてください。

Math.tan(Math.PI / 3);  // Math.PI/3 = 60°
>> 1.7320508075688767

Math.tan(Math.PI / 4);  // Math.PI/4 = 45°
>> 0.9999999999999999

その他のメソッド

アークサイン、アークコサイン、アークタンジェントはサイン、コサイン、タンジェントの逆関数で、引数に -1 から 1 までの数値を指定するとラジアン単位の角度を返します。

Math.asin(数値)   Math.sin(Math.asin(x)) = x
Math.acos(数値)   Math.cos(Math.acos(x)) = x
Math.atan(数値)   Math.tan(Math.atan(x)) = x
Math.atan2(y, x)  Math.atan(y/x) = Math.atan2(y, x)

ハイパーボリックサイン、ハイパーボリックコサイン、ハイパーボリックタンジェントは引数に指定した数値を使ってそれぞれ次の値を取得します。

Math.sinh(数値)  (ex - e-x) / 2
Math.cosh(数値)  (ex + e-x) / 2
Math.tanh(数値)  Math.sinh(x) / Math.cosh(x)

ハイパーボリックアークサイン、ハイパーボリックアークコサイン、ハイパーボリックアークタンジェントについては書式だけ次に記載します。

Math.asinh(数値)
Math.acosh(数値)
Math.atanh(数値)

-- --

Math オブジェクトで用意されている静的メソッドの中で三角関数に関係する Math.sin, Math.cos, Math.tan メソッドおよびその他のメソッドの使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。