2016.01.07
2025.03.05
逆三角関数 逆正弦 asin

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

以上です。Math.asinメソッドを使うときの参考にしてくさだい。
Javaソースコード
AsinSample.java
001 002 003 004 005 006 007 008 009 010 011 012
public class AsinSample { public static void main( String[] args ) { // 30°をラジアンに変換 double rad1 = Math.toRadians( 30.0 ); // 150°をラジアンに変換 double rad2 = Math.toRadians( 180.0 - 30.0 ); // 結果の表示 System.out.println( Math.asin( Math.sin( rad1 ) ) ); System.out.println( Math.asin( Math.sin( rad2 ) ) ); } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis AsinSample.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac AsinSample.java
実行
C:\talavax\javasample>java AsinSample
実行結果
0.5235987755982988 0.5235987755982988
出力された2つ値は、30°をラジアンに変換した値とほぼ一致しています。
Javaソースコードの解説
ここからは、このソースコードを上から順番に解説していきます。
001
public class AsinSample {
クラス名を、AsinSampleとしています。
002
public static void main( String[] args ) {
003 004
// 30°をラジアンに変換 double rad1 = Math.toRadians( 30.0 );
30°をMath.toRadiansメソッドでラジアンに変換し、変数rad1に代入しています。
005 006
// 150°をラジアンに変換 double rad2 = Math.toRadians( 180.0 - 30.0 );
150°をMath.toRadiansメソッドでラジアンに変換し、変数rad2に代入しています。
Math.toRadiansメソッド
public static double Math.toRadians( double a )
・引数aで指定した角度をラジアンに変換した値を返します。 パラメータ a : 角度(単位:度)[ 戻り値 ラジアン
008 009
// 結果の表示
System.out.println( Math.asin( Math.sin( rad1 ) ) );
Math.sinメソッドにrad1を渡して求めたsinの値を、Math.asinメソッドに渡した結果をコンソール出力しています。
010
System.out.println( Math.asin( Math.sin( rad2 ) ) );
Math.sinメソッドにrad2を渡して求めたsinの値を、Math.asinメソッドに渡した結果をコンソール出力しています。
Math.sinメソッド
public static double Math.sin( double a )
・引数aで指定した角度の正弦 (サイン) を返します。 パラメータ a : ラジアンで指定した角度。 戻り値 aの正弦
以上です。
逆三角関数に関するコンテンツ
「逆三角関数」に関係があるコンテンツをまとめています。