【C#入門】Math.Asin()メソッドの使い方と戻り値を徹底解説
C#のMath.Asin()メソッドは、指定した数値を正弦(サイン)とする角度を返すメソッドです。逆正弦(アークサイン)とも呼ばれ、Math.Sin()メソッドの逆関数にあたります。引数にはdouble型の値を渡します。
戻り値はラジアン単位の角度で、範囲は -π/2 ~ π/2 となります。なお、度数法に変換したい場合は、結果に「180 / Math.PI」を掛けることで実現できます。
構文
Math.Asin()メソッドの構文は以下の通りです。
public static double Asin (double val);
引数 val は、正弦(サイン)の値を表す数値です。この値は -1 以上 1 以下 である必要があります。範囲外の値や無効な値を渡した場合の挙動については、後述の例を参照してください。
使用例1:特殊な値を渡した場合
まず、負のゼロ・正の無限大・NaN(非数)を引数に渡した場合の動作を確認してみましょう。
using System;
public class Demo {
public static void Main(){
double val1 = -0.0;
double val2 = Double.PositiveInfinity;
double val3 = Double.NaN;
Console.WriteLine("Return value of {0} : {1}", val1, Math.Asin(val1));
Console.WriteLine("Return value of {0} : {1}", val2, Math.Asin(val2));
Console.WriteLine("Return value of {0} : {1}", val3, Math.Asin(val3));
}
}実行結果
Return value of 0 : 0 Return value of ∞ : NaN Return value of NaN : NaN
このように、-0.0 を渡した場合は 0 が返される一方、正の無限大やNaNを渡した場合はNaNが返されることがわかります。これは、正弦値として有効な範囲(-1~1)に含まれないためです。
使用例2:有効範囲外の値を渡した場合
次に、負の無限大と、範囲外の数値「2」を引数に渡した例を見てみましょう。
using System;
public class Demo {
public static void Main(){
double val1 = Double.NegativeInfinity;
double val2 = 2;
Console.WriteLine("Return value of {0} : {1}", val1, Math.Asin(val1));
Console.WriteLine("Return value of {0} : {1}", val2, Math.Asin(val2));
}
}実行結果
Return value of -∞ : NaN Return value of 2 : NaN
負の無限大はもちろん、正弦値として定義され得ない「2」のような範囲外の値を渡した場合も、例外はスローされずNaN(Not a Number)が返される点に注意してください。
まとめ
- Math.Asin()は、指定した正弦値に対応する角度(ラジアン)を返すメソッド
- 引数は -1 以上 1 以下のdouble型の値である必要がある
- 戻り値の範囲は -π/2 ~ π/2
- 範囲外の値、無限大、NaNを渡した場合は例外ではなくNaNが返る
三角関数を使う科学技術計算やグラフィックス処理などで活用できるメソッドなので、引数の有効範囲をしっかり押さえておきましょう。
-
C#のMath.Floor()メソッドとは?使い方とサンプルコードを解説
C#のMath.Floor()メソッドは、指定された数値以下で最大の整数値を返すメソッドです。正の数だけでなく負の数にも対応しており、負の数の場合はより小さい整数方向へ丸められる点が特徴です。 構文 public static decimal Floor(decimal val); public static double Floor(double val); 1つ目の構文では引数 val に decimal 型の数値を指定し、戻り値も decimal 型になります。2つ目の構文では double 型の数値を指定し、戻り値は double 型です。扱うデータの型に応じて、適切なオーバーロードを
-
C#のMath.Exp()メソッドの使い方を徹底解説!eの累乗計算と特殊値の挙動
C#のMath.Exp()メソッドは、自然対数の底「e」(ネイピア数、約2.71828)を指定した値で累乗した結果を返すメソッドです。数学的な指数関数の計算が必要な場面で活用されます。構文public static double Exp (double val);引数 val には、eの累乗の指数となる倍精度浮動小数点数(double型)を指定します。戻り値もdouble型です。特殊な値が渡された場合の挙動NaN(非数)またはPositiveInfinity(正の無限大)を渡した場合 → その値がそのまま返されます。NegativeInfinity(負の無限大)を渡した場合 → 0 が返されま