삼각함수란?
생략.
일단 본격적으로 들어가기 앞서 피타고라스 부터 정리 해보겠습니다.
피타고라스는 보통 몬스터와 플레이어간의 거리 길이를 구할때 사용하게 됩니다.
위 그림 처럼 2차 좌표에서 봤을때 두 물체간의 거리를 구할 수 있었습니다.
이제 피타고라스를 알았다면
Cos
Sin
Tan
이 세개의 함수를 알아 보겠습니다.
보통 고등학교때 외울때 아래와 같이 외우곤 했던 기억이 있네요....
즉
Cos(A) : b/a
Sin(A) : a/c
Tan(A) : c/b (= SinA/CosA)
이런 성질을 갖고 있는데 이 나온 값들은 어떤것을 뜻할까요??
바로 빗변과의 비율 이라고 생각하면 됩니다.
직각 삼각형을 표현할때 보통 단위 원을 이용해서 많이 볼 수 있는데요
단위 원이란 반지름이 1 인 값을 의미합니다. 말 그대로 단위 즉 비율을 도출 할 수 있습니다.
수학에서는 보통 각도가 아닌 라디안으로 많이 표현을 하게 됩니다.
흠.. 왜 각도를 많이 안쓸까요??..
0~360도 라는 값이 ... 그냥 수학적으로 계산해서 나온게 아니라고는 하네요,,,
그냥 똑똑하신 조상들이 딱 수치를 정한거 같아요
(제 생각에서는 2,3,4,5,6 로 다 나눠 떨어져서 하지 않을까라는 생각이 드네요.)
π란?
원의 지름과 둘례의 비율이라고 할 수 있습니다.
예를 들어 지름이 1cm 라면 둘례는 3.14cm 가 되겠죠?
그럼 라디안이란?
위 그림 처럼 호의 길이가 1인 각도를 의미합니다.
1라디안은 대략 57도 입니다.
각도 = 라디안
360 = 2π
180 = π
90 = π/2
57 = 1
45 = π/4
30 = π/6
가 됩니다.(기억!!)
그림을 보면 단위원이기 때문에 반지름은 1이라고 가정합니다. 즉 빛변이 1입니다.
원 둘례 위에 존재하는 좌표를 찍고 삼각형을 그린다면
x값 :
Cos(A) = 밑/빗(=1) =>
밑변 = CosA
y값
Sin(A) = 높/빗(=1) =>
높이 = SinA
그럼 이 과정에서 굉장히 중요한 규칙이 볼 수 있는데
피타고라스로 인해
Sin(A)^2 + Cos(A)^2 = 1
를 도출 할 수 있습니다.
위 그림에서 삼각형을 아래로 대칭으로 그려보도록 하겠습니다.
cosA 의 값은 변화지 않고 그대로가 됩니다.
즉 Cos(A) = Cos(-A)
그 반대로 SinA 는 부호가 바뀌게 됩니다.
즉 Sin(A) = -Sin(-A)
가 되는 셈이죠 .
Cos, Sin, Tan를 그래프로 한번 표현해보겠습니다
각도 0 기준으로
Sin(A)는 0이 되고
Cos(A)는 1이 됩니다.
한번 원 그림을 보고 확인해보져
그럼 π/2 일때 한번 봐볼까요?
Tan는 빗변과의 각도 90도로 인 선을 그어 x좌표에 만나는 지점까지의 비율이라고 할 수 있는데
다른 얘들(?)과 다르게 무한대로 가는데 그 이유는
A가 π/2일때
아까 말한 Tan = Sin(A)/Cos(A)
Tan = Sin(A)/0
0으로 나눠지게 되는데 이는 성립하지 않게 됩니다.
즉 Tan의 그래프는 π/2, -π/2에 가까워 질 수록 무한대로 이어지게 되는거죠.
역함수
역함수는 비율값은 알고 있지만 라디안 값을 모르고 있는 상황을 이야기 합니다.
위에 설명한 것들은 모두 라디안을 통해 비율을 구했다면 이 역함는 반대로 하는 하게 됩니다.
역함수는 표현할때 보통 arc를 붙여서
arccos[] = A
arcsin[] = A
arctan[] = A
더 나아가 그래픽스에서 회전 행렬을 하기 위해
코사인 덧셈 정리도 알아야 합니다.
위에 덧셈 정리를 한번 증명해보겠습니다.
이 A와 B 두 점 사이의 거리를 구하기 위해
두가지 방법을 써서 증명을 해보겠습니다.
삼각함수는 여기까지~
'개발 공부 > DirectX12 및 게임수학' 카테고리의 다른 글
[게임수학] 변환행렬 (0) | 2022.10.10 |
---|---|
[게임수학] 행렬 (0) | 2022.10.10 |
[게임수학] Vector 외적 (0) | 2022.03.13 |
[게임수학] Vector 내적 (0) | 2022.03.13 |
[게임수학] 기하 벡터 기초 (0) | 2022.02.22 |