Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Math.Sin() 메서드 완벽 가이드: 각도의 사인 값 구하기

C#의 Math.Sin() 메서드는 지정된 각도에 대한 사인(sine) 값을 반환하는 정적 메서드입니다. 삼각함수 계산이 필요한 그래픽 처리, 물리 시뮬레이션, 과학 계산 등 다양한 분야에서 활용됩니다.

문법(Syntax)

Math.Sin() 메서드의 기본 문법은 다음과 같습니다.

public static double Sin(double val);

매개변수 val은 라디안(radian) 단위로 표현된 각도입니다. 반환값은 해당 각도의 사인 값으로, 항상 double 형식입니다.

주의: 도(Degree)와 라디안(Radian) 변환

Math.Sin() 메서드는 각도를 라디안 단위로 받습니다. 따라서 일반적으로 사용하는 '도(degree)' 단위의 각도를 계산하려면 먼저 라디안으로 변환해야 합니다. 변환 공식은 다음과 같습니다.

라디안 = 도 × π / 180

예제 1: 30도의 사인 값 구하기

다음 예제는 30도를 라디안으로 변환한 후 Math.Sin() 메서드를 사용하여 사인 값을 계산합니다.

using System;

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

출력 결과

0.5

삼각함수에서 잘 알려져 있듯이, sin(30°)의 값은 정확히 0.5입니다.

예제 2: 특수 값(무한대, NaN) 처리

다음 예제는 일반적인 각도뿐만 아니라 양의 무한대(Double.PositiveInfinity)와 NaN(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

결과 해석

  • sin(45°): 약 0.707106781186547로, √2/2에 해당하는 값입니다.
  • 양의 무한대 입력: 유효한 각도가 아니므로 NaN(Not a Number)을 반환합니다.
  • NaN 입력: 역시 NaN을 그대로 반환합니다.

따라서 실무에서는 Math.Sin() 메서드에 각도를 전달하기 전에 반드시 라디안 단위로 변환했는지 확인해야 하며, 무한대나 NaN 같은 비정상적인 값이 포함되지 않았는지 검증하는 것이 안전합니다.