三角関数(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) 引数で指定されたの比率のアークタンジェントを返す
数多くの種類がありますが、サイン(正弦)、コサイン(余弦)、タンジェント(正接)以外は何に使うのか分からないためここでは解説を省略させて頂きます。サイン、コサイン、タンジェントはそれぞれ次のように求めることができます。
それではそれぞのメソッドについて順に見ていきます。
サイン(正弦)を取得する(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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。