C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のMathF.Asin()メソッドとは?使い方をサンプルコード付きで解説

C#のMathF.Asin()メソッドは、引数として渡されたfloat値を「正弦(サイン)」とする角度(アークサイン)をラジアン単位で返すメソッドです。逆三角関数の一つであり、戻り値の範囲は -π/2 ~ π/2 となります。

構文

MathF.Asin()メソッドの構文は以下の通りです。

public static float Asin (float val);

パラメータ val には、-1 ~ 1 の範囲内のfloat値を指定します。この範囲外の値を渡した場合、メソッドは NaN(Not a Number) を返します。

使用例1

まずは基本的な使用例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        float val1 = 0.1f;
        float val2 = 8.9f;
        Console.WriteLine("Angle (val1) = "+(MathF.Asin(val1)));
        Console.WriteLine("Angle (val2) = "+(MathF.Asin(val2)));
    }
}

出力結果

上記のコードを実行すると、次の出力が得られます。

Angle (val1) = 0.1001674
Angle (val2) = NaN

0.1f は有効な範囲(-1~1)に収まっているため、対応する角度 0.1001674ラジアン が正しく返されています。一方、8.9f は範囲外の値であるため、結果として NaN が返されました。

使用例2

続いて、別の値を使った例を確認してみます。

using System;
public class Demo {
    public static void Main(){
        float val1 = 1.2f;
        float val2 = 45.5f;
        Console.WriteLine("Angle (val1) = "+(MathF.Asin(val1)));
        Console.WriteLine("Angle (val2) = "+(MathF.Asin(val2)));
    }
}

出力結果

実行すると、以下の出力になります。

Angle (val1) = NaN
Angle (val2) = NaN

1.2f45.5f もどちらも -1~1 の範囲を超えているため、いずれも NaN が返されています。

まとめ

MathF.Asin()を使用する際は、引数が必ず -1 以上 1 以下 の範囲に収まるように注意してください。範囲外の値を渡すとNaNが返され、意図しない計算結果につながる可能性があります。また、戻り値はラジアン単位であるため、度数法(°)で扱いたい場合は ラジアン × 180 / π で変換するとよいでしょう。

  1. C#のMathF.Tanh()メソッドとは?構文と具体例でわかりやすく解説

    C#のMathF.Tanh()メソッドは、指定されたfloat型の値に対する双曲線正接(ハイパボリックタンジェント)を返すメソッドです。数学的な計算やグラフ描画、信号処理など、浮動小数点数を扱う場面で活用されます。この記事では、MathF.Tanh()メソッドの基本的な構文から、実際のコード例とその実行結果までをわかりやすく解説します。MathF.Tanh()メソッドの構文MathF.Tanh()メソッドの構文は以下の通りです。public static float Tanh (float val);引数 val には、双曲線正接を求めたい数値(float型)を指定します。戻り値として、その値

  2. C#のMathF.Tan()メソッドの使い方をサンプルコード付きで解説

    C#のMathF.Tan()メソッドは、指定されたfloat型の角度(ラジアン単位)に対する正接(タンジェント)を計算して返します。科学技術計算やグラフィックス処理など、三角関数の計算が必要な場面で活用できる便利なメソッドです。構文MathF.Tan()メソッドの構文は以下の通りです。public static float Tan (float val);パラメータ val には、正接を求めたい角度をラジアン単位で指定します。戻り値はfloat型です。使用例1:通常の値とNaNの場合まず、通常の数値とNaN(非数)を引数に渡した場合の動作を確認してみましょう。using System; pub