Mathf Class

Unity에서 제공하는 다양한 수학 함수

상수


  • PI: float - 원주율 값.
  • Infinity: float - 무한대 값.
  • NegativeInfinity: float - 음의 무한대 값.
  • Epsilon: float - 아주 작은 수.

기본연산


  • Abs(float f) -> float: 절대값 반환.
  • Sign(float f) -> float: 값의 부호 반환 (+1, -1 또는 0).
  • Max(float a, float b) -> float: 두 값 중 최대값 반환.
  • Min(float a, float b) -> float: 두 값 중 최소값 반환.
  • Pow(float f, float p) -> float: 거듭제곱 값 반환.
  • Sqrt(float f) -> float: 제곱근 값 반환.

반올림 및 정수 연산


  • Ceil(float f) -> int: 올림값 반환.
  • CeilToInt(float f) -> int: 올림값을 정수로 반환.
  • Floor(float f) -> int: 내림값 반환.
  • FloorToInt(float f) -> int: 내림값을 정수로 반환.
  • Round(float f) -> int: 반올림 값 반환.
  • RoundToInt(float f) -> int: 반올림 값을 정수로 반환.

삼각함수


  • Sin(float f) -> float: 사인 값 반환.
  • Cos(float f) -> float: 코사인 값 반환.
  • Tan(float f) -> float: 탄젠트 값 반환.
  • Asin(float f) -> float: 아크사인 값을 반환.
  • Acos(float f) -> float: 아크코사인 값을 반환.
  • Atan(float f) -> float: 아크탄젠트 값을 반환.
  • Atan2(float y, float x) -> float: 두 숫자의 아크탄젠트 값을 반환.
아크사인 (Arcsine 또는 Inverse Sine)

아크 사인은 사인 함수의 역함수로, 주어진 값의 사인 값이 얼마인지 알려주는 각도를 찾아주는 함수입니다. 사인 함수가 각도를 입력으로 받아 그 각도의 사인 값을 출력하는 함수라면, 아크 사인은 사인 값을 입력으로 받아 그 값을 갖는 각도를 출력합니다.

아크 사인은 주로 (−1,1) 범위의 값에 대해 (0, π) 범위의 결과를 반환합니다. 예시:

  • asin(0)= 0asin(0)=0 (0도)
  • asin(1)= 2asin(1)=2π​ (90도)
  • asin(−1)= −2asin(−1)=−2π​ (-90도)

보간 및 제한


  • Clamp(float value, float min, float max) -> float: 값을 범위 내로 제한.
  • Clamp01(float value) -> float: 0과 1 사이로 값을 제한.
  • Lerp(float a, float b, float t) -> float: 두 값 사이를 선형 보간.
  • LerpUnclamped(float a, float b, float t) -> float: 제한 없이 두 값 사이를 선형 보간.
  • InverseLerp(float a, float b, float value) -> float: 선형 보간의 역 연산.
  • MoveTowards(float current, float target, float maxDelta) -> float: 현재 값에서 목표 값으로 지정된 양만큼 이동.
보간 (Interpolation)

보간은 두 값 사이의 중간 값을 추정하는 과정을 의미합니다. 예를 들어, 두 점 A와 B 사이의 중간 값을 찾고자 할 때, 보간을 사용하여 그 값을 추정할 수 있습니다.

**선형 보간 (Linear Interpolation, Lerp)는 가장 간단한 보간 방법 중 하나로, 두 값 사이의 일정한 비율에 따라 중간 값을 계산합니다.

수식으로는: Lerp(A,B,t)=A+t×(B−A)

여기서 t는 보간 비율을 나타내며, 0과 1 사이의 값을 가집니다. t=0일 때 결과는 A이며, t=1일 때 결과는 B입니다. t의 값이 0과 1 사이일 때는 A와 B 사이의 중간 값을 얻게 됩니다.

Unity의 Mathf 클래스에서는 Lerp 메서드를 통해 선형 보간 값을 계산할 수 있습니다.

로그 및 지수 함수


  • Exp(float power) -> float: e의 지정된 거듭제곱을 반환.
  • Log(float f) -> float: 자연 로그 값을 반환.
  • Log(float f, float p) -> float: 지정된 밑수의 로그 값을 반환.

기타 연산


  • DeltaAngle(float current, float target) -> float: 두 각도 사이의 최소 차이 반환.
  • PingPong(float t, float length) -> float: 특정 길이의 범위 내에서 왔다갔다하는 값 반환.
  • Repeat(float t, float length) -> float: 값이 지정된 길이를 초과하면 0에서 다시 시작.