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

C# MathF.Asin() 메서드 완벽 가이드: 구문과 예제로 배우기

C#의 MathF.Asin() 메서드는 지정된 float 값의 사인(sine)에 해당하는 각도, 즉 역사인(아크사인) 값을 반환하는 정적 메서드입니다. 삼각함수 연산이 필요한 그래픽 처리, 게임 물리 엔진, 과학·공학 계산 등 다양한 분야에서 활용됩니다.

구문

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

public static float Asin (float val);

매개변수 val에는 아크사인을 구하고자 하는 float 형식의 값이 전달됩니다. 이때 유효한 입력 범위는 -1.0f부터 1.0f까지이며, 이 범위를 벗어난 값이 입력되면 메서드는 NaN(Not a Number)을 반환합니다. 또한 반환되는 각도의 단위는 도(degree)가 아닌 라디안(radian)이라는 점에 유의해야 합니다.

예제 1: 유효한 값과 범위를 벗어난 값 비교

다음은 MathF.Asin() 메서드를 실제로 사용하는 첫 번째 예제입니다.

using System;
public class Demo {
    public static void Main(){
        float val1 = 0.1f;
        float val2 = 8.9f;
        Console.WriteLine("Angle (val1) = "+(MathF.Asin(val1)));
        Console.WriteLine("Angle (val2) = "+(MathF.Asin(val2)));
    }
}

실행 결과

Angle (val1) = 0.1001674
Angle (val2) = NaN

0.1f는 유효 범위(-1~1) 안에 있으므로 약 0.1001674라디안의 각도가 정상적으로 반환됩니다. 반면 8.9f는 사인 함수의 치역을 벗어나기 때문에 NaN이 반환된 것을 확인할 수 있습니다.

예제 2: 범위를 벗어난 여러 값 처리

이번에는 두 값이 모두 유효 범위를 벗어나는 경우를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        float val1 = 1.2f;
        float val2 = 45.5f;
        Console.WriteLine("Angle (val1) = "+(MathF.Asin(val1)));
        Console.WriteLine("Angle (val2) = "+(MathF.Asin(val2)));
    }
}

실행 결과

Angle (val1) = NaN
Angle (val2) = NaN

1.2f와 45.5f 모두 사인 함수가 가질 수 있는 값의 범위(-1~1)를 벗어나므로, 두 경우 모두 NaN이 반환됩니다.

정리

MathF.Asin() 메서드를 사용할 때는 다음 세 가지를 기억하면 좋습니다.

  • 입력값은 반드시 -1.0f 이상 1.0f 이하여야 하며, 범위를 벗어나면 NaN이 반환됩니다.
  • 반환값의 단위는 라디안이므로, 도(degree) 단위가 필요하다면 결과 × 180 / MathF.PI로 직접 변환해야 합니다.
  • MathF 클래스는 float 형식에 최적화되어 있어, double 기반의 Math.Asin()보다 불필요한 형식 변환이 없어 성능 면에서 유리할 수 있습니다.