JavaScript에서 인수 몫의 아크탄젠트(arctangent)를 구하려면 Math.atan2() 메서드를 사용합니다. 이 메서드는 두 개의 인수를 받아, 원점 (0, 0)에서 점 (x, y)까지의 각도 θ를 나타내는 -π(파이)부터 π 사이의 숫자 값을 반환합니다.
Math.atan2() 메서드란?
Math.atan2(y, x)는 y/x의 아크탄젠트 값을 계산하지만, 단순히 Math.atan(y/x)와 다르게 x와 y의 부호를 모두 고려하기 때문에 결과 각도가 어느 사분면에 속하는지 정확하게 판별할 수 있다는 장점이 있습니다. 따라서 좌표 기반의 각도 계산, 게임 개발, 벡터 회전 등에 널리 활용됩니다.
예제
다음 코드를 실행하면 JavaScript에서 두 인수 몫의 아크탄젠트 값을 확인할 수 있습니다.
<html>
<head>
<title>JavaScript Math atan2() Method</title>
</head>
<body>
<script>
var value = Math.atan2(90, 15);
document.write("First Value : " + value );
value = Math.atan2(15, 90);
document.write("<br />Second Value : " + value );
value = Math.atan2(0, -5);
document.write("<br />Third Value : " + value );
value = Math.atan2(Math.PI, 2);
document.write("<br />Fourth Value : " + value );
</script>
</body>
</html>
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
First Value : 1.4056476493802699
Second Value : 0.16514867741462683
Third Value : 3.141592653589793
Fourth Value : 1.0038848218538872
정리
- Math.atan2(y, x): y/x의 아크탄젠트를 반환하며, 결과 값은 -π ~ π 라디안 범위입니다.
- x 또는 y에 문자열처럼 숫자로 변환할 수 없는 값이 전달되면 NaN(Not a Number)이 반환됩니다.
- 결과 값은 라디안 단위이므로, 도(degree) 단위가 필요하면 반환값에
180 / Math.PI를 곱해 변환할 수 있습니다.