탄젠트 공식은 다음과 같습니다.
tan(angle) = opposite/adjacent
이 도면을 참조하십시오.
a
인접한 쪽은 어디에 o
있고 반대쪽 theta
은 각도입니다. 마찬가지로 사인과 코사인은 sin (ang) = o / h 및 cos (ang) = a / h이며, 긴면 h
은 다음과 같습니다. http://www.mathwords.com/s/sohcahtoa.htm
한편 atan
(짧은 아크 탄젠트 일컬어, 역 탄젠트 )의 역순 tan
이므로 등 :
atan(opposite/adjacent) = angle
따라서 반대면과 인접한면의 값을 모두 알고 있다면 (예를 들어, 마우스 좌표에서 객체의 좌표를 빼서)를 사용하여 각도의 값을 얻을 수 있습니다 atan
.
그러나 게임 개발에서 인접면이 0과 같은 경우가 종종 발생할 수 있습니다 (예 : 벡터의 x 좌표는 0 임). tan(angle) = opposite/adjacent
비참한 0으로 나누기 오류가 발생할 가능성을 명심 해야합니다. 따라서 많은 라이브러리는이라는 함수를 제공합니다.이 함수는 매개 변수 와 매개 변수를 atan2
모두 지정 하여 0으로 나누기를 피하고 오른쪽 사분면에 각도를 제공합니다.x
y
(가레스의 그림 제공, 그의 답변도 투표하십시오)
게임 개발에 삼각법을 사용하는 것은 특히 벡터에서 일반적이지만 라이브러리는 삼각법 작업을 숨 깁니다. sin / cos / tan을 사용하여 삼각형에서 값을 찾기위한 기하학적 조작과 관련된 많은 작업에 사용할 수 있습니다. 직사각형 삼각형의 다른 값을 찾으려면 3 개의 값 (측면 길이 / 각도 값)이 필요하므로 매우 유용합니다.
사인 및 코사인 함수의 "사이클링"특성을 게임의 특수 동작에 사용할 수도 있습니다. 예를 들어, cos / sin이 다른 오브젝트를 돌리기 위해 오브젝트를 많이 사용하는 것을 보았습니다.