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

C#のMath.Sin()メソッドの使い方を徹底解説!サンプルコード付き

Math.Sin()メソッドとは

C#のMath.Sin()メソッドは、指定された角度の正弦(サイン)を返す静的メソッドです。System名前空間に含まれるMathクラスが提供しており、三角関数の計算を行いたい場面で頻繁に利用されます。

構文

Math.Sin()メソッドの基本構文は以下のとおりです。

public static double Sin(double val);

引数valには、正弦を求めたい角度を指定します。戻り値はdouble型です。

注意点:角度はラジアン単位で指定する

Math.Sin()メソッドの引数は「度」ではなく「ラジアン」で指定する必要があります。普段よく使う度数法(°)の角度を渡したい場合は、次の式でラジアンに変換してから渡しましょう。

ラジアン = 度 × Math.PI / 180

使用例1:30度のサイン値を求める

まずは、30度のサイン値を計算する基本的な例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        double val1 = 30.0;
        Console.WriteLine(Math.Sin((val1 * (Math.PI)) / 180));
    }
}

実行結果

0.5

30度のサインは0.5であるため、正しく計算できていることがわかります。

使用例2:特殊な値を渡した場合の挙動

続いて、通常の角度に加えて、正の無限大(Double.PositiveInfinity)や非数値(Double.NaN)を渡した場合の動作を確認します。

using System;
public class Demo {
    public static void Main(){
        double val1 = 45.0;
        double val2 = Double.PositiveInfinity;
        double val3 = Double.NaN;
        Console.WriteLine(Math.Sin((val1 * (Math.PI)) / 180));
        Console.WriteLine(Math.Sin(val2));
        Console.WriteLine(Math.Sin(val3));
    }
}

実行結果

0.707106781186547
NaN
NaN

結果のポイント

  • 45度 → 約0.707106781186547(√2/2 の近似値)が返される
  • 正の無限大 → NaN(Not a Number)が返される
  • NaN → NaNがそのまま返される

このように、Math.Sin()メソッドに有限の数値以外を渡すと、例外はスローされずにNaNが返されます。実際の開発では、入力値が有効な範囲内にあるかどうかを事前にチェックしておくと安全です。

まとめ

Math.Sin()メソッドを使えば、C#で簡単にサイン値を計算できます。ただし引数はラジアン単位である点に注意し、度数法の角度を扱う場合は「度 × Math.PI / 180」で変換してから渡しましょう。

  1. C#のMath.DivRem()メソッドの使い方を徹底解説!商と余りを同時に取得する方法

    C#のMath.DivRem()メソッドは、2つの数値の除算を行って商(quotient)を返すとともに、余り(remainder)をoutパラメータとして受け取ることができる便利なメソッドです。通常、商と余りの両方を求めるには「/」演算子と「%」演算子を別々に使う必要がありますが、このメソッドを使えば一度の呼び出しで両方の結果を取得できます。構文public static int DivRem(int dividend, int divisor, out int remainder); public static long DivRem(long dividend, long divisor

  2. C#のMath.DivRemメソッドとは?商と余りを同時に計算する方法

    C#のMath.DivRemメソッドは、2つの数値の商(割り算の結果)を計算すると同時に、余りも取得できる便利なメソッドです。通常、商を求める場合は「/」演算子、余りを求める場合は「%」演算子を使いますが、Math.DivRemを使えば1回の呼び出しで両方の結果を得ることができます。 Math.DivRemメソッドの基本構文 まず、被除数(割られる数)と除数(割る数)を設定します。 // 被除数(割られる数) long dividend = 30; // 除数(割る数) long divisor = 7; 続いて、DivRemメソッドを呼び出します。第3引数にはoutパラメータとして余りを受け