[게임 수학] 기초 수학, 삼각함수 (Odds and Ends)

구교승·2025년 2월 13일

[게임 수학]

목록 보기
2/9

Summeration and Product Notation (누적합과 누적곱)

누적합

  • 일종의 수학에서의 for 반복문
  • i는 프로그래밍에서 인덱스, i번 반복
  • 해당 식에 i부터 n까지의 값을 넣어준 결과를 누적해서 더해주는 연산
  • 위 기호를 시그마라고 표현

누적곱

  • 누적곱은 값끼리 모두 곱한 것
  • 해당 식에 i부터 n까지의 값을 넣어준 결과를 누적해서 곱해주는 연산
  • 위 기호를 파이라고 표현

Interval Notation (구간 표기법)

  • 게임 프로그래밍에서 간격을 표기해야 하는 경우
  • 점(dot, position)과 벡터(vector)의 표현 방법과 분리할 필요가 있음
    (x, y)로 점 표현, [x, y]로 벡터를 표현할 수 있기 때문

Angles, Degrees, and Radians (각도, 디그리, 라디안)

  • Angle(각도)는 회전을 표현하기 위한 양
  • 각도는 그리스 기호 θ로 표현
  • 디그리는 0°에서 360°사이의 각 표현
  • 라디안 : 반지름이 1인 원을 기준으로 한 직선에서 θ만큼 회전한 두번째 직선 사이의 호의 길이
  • 원의 둘레는 2πr이므로, 반지름이 1인 원을 기준으로 하면 2π
  • 따라서 2π(rad) = 360°, π(rad) = 180°의 회전으로 표현 가능
  • 1(rad) = (180 / π)° = 57.29578°
  • 1° = (π / 180)rad = 0.01745329(rad)

Trig Function (삼각함수)

  • 단위원(반지름의 길이가 1인 원)을 이용해 삼각함수 정의 가능
  • 직선을 반시계 방향으로 θ만큼 회전
  • 이 두 직선을 이용해 특별한 함수 표현 가능
  • cosθ = x, sinθ = y
  • tanθ = sinθ / cosθ
  • secθ = 1 / cos, cscθ = 1 / sinθ, cotθ = 1 / tanθ = cosθ / sinθ
  • 삼각함수는 직각 삼각형에서의 비율로 표현 가능
  • cosθ = adj / hyp, sinθ = opp / hyp, tanθ = opp / adj
  • 이들의 역수는
    secθ = hyp / adj, cscθ = hyp / opp, cotθ = adj / opp
  • hyp는 단위원의 길이가 1이므로 cosθ가 x, sinθ가 y값
  • 직각 삼각형의 특징이므로 hypotenuse(빗변)이 단위 길이가 아닐 경우에도 적용
  • 하지만 θ가 둔각일때에는 적용 불가
  • 둔각인 경우 반지름(r)과 x, y를 이용해 삼각함수 표현 가능
  • cosθ = x / r , sinθ = y / r, tanθ = y / x

피타고라스의 정리

  • a^2 + b^2 = c^2
  • 이 공식을 단위원에 적용시키면 다음의 공식 유도 가능
  • sin^2θ + cos^2θ = 1, 1 + tan^2θ = sec^2θ, 1 + cot^2θ = csc^2θ

삼각함수의 역수 vs 역삼각함수

삼각함수의 역수

  • 시컨트(secθ) : 코사인 함수의 역수, 1 / cosθ, 1/x
  • 코시컨트(cscθ) : 사인 함수의 역수, 1 / sinθ, 1/y
  • 코탄젠트(cotθ) : 탄젠트 함수의 역수, 1 / tanθ, x/y
  • 사용 이유 : 계산의 직관적 표현, 기울기 계산 등
  • 계산의 직관적 표현?
    • 삼각형의 넓이 공식
    • h가 주어지지 않을 경우 사인을 통해 h값을 구할 수 있음
    • sin(C) = h / b이므로 h = b * sin(C)
    • 따라서 1/2ab sin(C)
    • 이를 코시컨트로 나타내면, ab/2csc(C)가 되므로 계산이 조금 더 직관적으로 표현됨

역삼각함수

  • 주어진 삼각함수 값을 바탕으로 원래의 각도를 구하는 함수
  • 아크 사인 (arcsin) : arcsin(y) = x, sin(x) = y
  • 아크 코사인 (arccos) : arccos(y) = x, cos(x) = y
  • 아크 탄젠트 (arctan) : arctan(y) = x, tan(x) = y
  • 사용 이유 : 다각형의 각도 계산, 방향 및 경로 표현, 속도 벡터의 각도 계산 등

참고 및 출처:
게임 개발을 위한 수학
삼각 함수의 의미

profile
Face the fear, Build the future

0개의 댓글