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

C# Math.Cos() 메서드 완벽 가이드: 코사인 값 계산 방법

C#의 Math.Cos() 메서드는 매개변수로 전달된 각도에 대한 코사인(여현) 값을 반환하는 정적(static) 메서드입니다. 삼각함수 계산이 필요한 그래픽 처리, 물리 시뮬레이션, 수학 연산 등에서 널리 활용됩니다.

구문(Syntax)

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

public static double Cos (double val);

여기서 val은 코사인 값을 구하고자 하는 각도를 의미합니다. 중요한 점은 이 값이 도(degree)가 아닌 라디안(radian) 단위로 입력되어야 한다는 것입니다. 따라서 일반적인 도 단위의 각도를 사용하려면 라디안으로 변환해야 합니다.

도를 라디안으로 변환하는 공식

도 단위의 각도를 라디안으로 바꾸려면 다음 공식을 사용합니다.

radian = degree × π / 180

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

다음은 Math.Cos() 메서드를 사용하여 30도에 해당하는 코사인 값을 계산하는 예제입니다.

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

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

0.866025403784439

30도의 코사인 값인 √3/2 ≈ 0.866이 정상적으로 출력되는 것을 확인할 수 있습니다.

예제 2: 0도와 90도의 코사인 값 구하기

이번에는 두 개의 서로 다른 각도를 동시에 계산하는 예제입니다.

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

실행 결과

1
6.12303176911189E-17

0도의 코사인 값은 수학적으로 정확히 1이므로 그대로 출력됩니다. 반면 90도의 경우 이론상 코사인 값은 0이지만, 부동소수점(floating-point) 연산의 한계로 인해 6.12303176911189E-17이라는 극히 작은 값이 출력됩니다. 이는 사실상 0에 가까운 값이며, 컴퓨터가 실수를 표현하는 방식에서 발생하는 자연스러운 오차입니다.

참고 사항

  • Math.Cos()는 항상 -1부터 1 사이의 double 형 값을 반환합니다.
  • 매개변수가 NaN(Not a Number)이거나 무한대(∞)인 경우에는 NaN을 반환합니다.
  • 정확한 삼각함수 계산을 위해서는 반드시 각도를 라디안 단위로 변환하여 전달해야 합니다.