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

C# MathF.Atan2() 메서드 완벽 정리: 구문과 실전 예제

C#의 MathF.Atan2() 메서드는 두 개의 부동 소수점 숫자의 몫(비율)에 대한 아크탄젠트(역탄젠트) 값을 반환합니다. 쉽게 말해, 평면상의 한 점이 주어졌을 때 원점에서 그 점을 향하는 방향의 각도를 라디안(radian) 단위로 계산해 주는 메서드입니다.

일반적인 MathF.Atan()이 하나의 값에 대한 역탄젠트만 구하는 것과 달리, Atan2()는 x축과 y축 값을 따로 받기 때문에 사분면 정보를 유지할 수 있어 그래픽스, 게임 개발, 좌표 변환 등에서 널리 활용됩니다.

구문

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

public static float Atan2 (float val1, float val2);

여기서 val1은 점의 y좌표, val2는 점의 x좌표를 나타냅니다. 메서드는 이 두 값으로 정의되는 벡터와 x축 사이의 각도를 float 형식의 라디안 값으로 반환합니다.

예제 1: 기본 사용법

다음은 MathF.Atan2() 메서드를 사용하는 간단한 예제입니다.

using System;

public class Demo {
    public static void Main() {
        float val1 = 0.1f;
        float val2 = 0.9f;
        Console.WriteLine("Return value = " + MathF.Atan2(val1, val2));
    }
}

실행 결과

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

Return value = 0.1106572

y값이 0.1, x값이 0.9일 때 두 값의 비율에 대한 아크탄젠트는 약 0.1107라디안입니다.

예제 2: 라디안을 도(degree) 단위로 변환하기

MathF.Atan2()의 반환값은 라디안 단위입니다. 결과를 도(degree) 단위로 확인하려면 180/π를 곱해 주면 됩니다.

using System;

public class Demo {
    public static void Main() {
        float val1 = 25f;
        float val2 = 25f;
        Console.WriteLine("Return value = " + MathF.Atan2(val1, val2) * (180 / MathF.PI));
    }
}

실행 결과

x좌표와 y좌표가 같은 25이므로, 해당 점은 45도 방향에 위치합니다.

Return value = 45

정리

MathF.Atan2() 메서드는 두 좌표 값의 비율로부터 정확한 방향 각도를 구할 수 있는 강력한 수학 함수입니다. 반환값이 항상 라디안 단위라는 점을 기억하고, 필요에 따라 180/π를 곱해 도 단위로 변환하여 활용하면 됩니다.