2016.01.07
逆三角関数 逆余弦 acos

はじめに
cosθ → θは?
メソッド
Math.acosメソッド
public static double Math.acos( double a )
・引数aで指定した値の逆余弦 (アークコサイン)を返します。 パラメータ a : 余弦 (コサイン)の値。 戻り値 aの逆余弦 (アークコサイン)をラジアンで戻す。
メソッド使用時に注意すること
このメソッドを使うときに注意することを書いておきます。
1つ目は、渡す引数の範囲は-1.0~1.0であるということです。範囲外の値を引数として渡すとメソッドはNaNを戻します。
2つ目は、戻り値の角度(ラジアン)の範囲は0.0~πであるということです(πはパイ)。ある角度θをMath.cosメソッドに代入して得られた値を、Math.acosメソッドに代入するとθ'が得られたとします。その結果は、必ずしもθ=θ'となりません。それは、同じ値のcosを示す角度は、0~2π(360°)の中に1または2つあるからです。cosθ=1のときθ=0(0°)、cosθ=-1のときθ=π(180°)となり、θを1つだけ求めることが出来ますが、それ以外のときはθの候補が2つ存在します。Math.acosのメソッド戻り値の範囲を0.0~πとすることでθの候補を1つに絞っています。
以下の図は、cosθとcos(360°-θ)が同じになることを示している図で、cosに渡す角度が違ってもcosの値が同じになることが分かります。

以上です。Math.acosメソッドを使うときの参考にしてください。