C#のMath.Tan()メソッドの使い方を徹底解説!構文とサンプルコード付き
C#のMath.Tan()メソッドは、System名前空間に含まれる数学関数の一つで、指定された角度のタンジェント(正接)を返します。三角関数を使った計算処理を行う際に活用できる便利なメソッドです。
構文
Math.Tan()メソッドの構文は以下の通りです。
public static double Tan(double val);
ここで、valはラジアン単位の角度を表します。戻り値として、その角度に対応するタンジェント値がdouble型で返されます。
度数法からラジアンへの変換について
Math.Tan()メソッドはラジアンを引数として受け取るため、日常的によく使われる度数法(°)で角度を指定したい場合は、事前に変換が必要です。変換には以下の式を使用します。
ラジアン = 度 × Math.PI / 180
例1:30度のタンジェントを求める
それでは、Math.Tan()メソッドを使って30度のタンジェント値を求める例を見てみましょう。
using System;
public class Demo {
public static void Main(){
double val1 = 30.0;
Console.WriteLine(Math.Tan( (val1 * (Math.PI)) / 180 ));
}
}出力結果
0.577350269189626
この結果は、30度のタンジェント値である「1/√3 ≒ 0.577」に相当します。角度をラジアンに変換してからメソッドに渡している点に注目してください。
例2:特殊な値を渡した場合の動作
次に、45度の角度に加えて、正の無限大(PositiveInfinity)や非数値(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.Tan( (val1 * (Math.PI)) / 180 ));
Console.WriteLine(Math.Tan(val2));
Console.WriteLine(Math.Tan(val3));
}
}出力結果
1 NaN NaN
45度のタンジェントは「1」という期待通りの結果が得られます。一方、引数に無限大やNaNを渡した場合は、いずれもNaNが返されることがわかります。これは、無効な入力に対してMath.Tan()メソッドが例外をスローせず、NaNを返す仕様になっているためです。
まとめ
- Math.Tan()メソッドは、指定した角度のタンジェント(正接)をdouble型で返す
- 引数はラジアン単位のため、度数法の角度は「度 × Math.PI / 180」で変換してから渡す
- 引数が無限大またはNaNの場合、戻り値もNaNになる
三角関数を利用したグラフィックス処理や物理シミュレーションなど、さまざまな場面で役立つメソッドなので、ぜひ使い方をマスターしておきましょう。
-
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
-
C#のMath.DivRemメソッドとは?商と余りを同時に計算する方法
C#のMath.DivRemメソッドは、2つの数値の商(割り算の結果)を計算すると同時に、余りも取得できる便利なメソッドです。通常、商を求める場合は「/」演算子、余りを求める場合は「%」演算子を使いますが、Math.DivRemを使えば1回の呼び出しで両方の結果を得ることができます。 Math.DivRemメソッドの基本構文 まず、被除数(割られる数)と除数(割る数)を設定します。 // 被除数(割られる数) long dividend = 30; // 除数(割る数) long divisor = 7; 続いて、DivRemメソッドを呼び出します。第3引数にはoutパラメータとして余りを受け