atan2() 함수는 두 변수의 아크탄젠트(역탄젠트) 값을 계산하여 반환하는 PHP 수학 함수입니다. 일반적인 atan() 함수와 달리 두 개의 인자를 받아 각 인자의 부호를 활용해 결과가 속한 사분면(quadrant)까지 정확하게 판별할 수 있다는 점이 특징입니다.
구문(Syntax)
atan2(val1, val2)
매개변수(Parameters)
val1 − 피제수(dividend)
val2 − 제수(divisor)
반환값(Return)
atan2() 함수는 val1 / val2의 아크탄젠트 값을 라디안(radian) 단위로 반환합니다. 반환되는 값의 범위는 -Pi부터 Pi 사이입니다.
이 함수는 단순히 atan(val1 / val2)를 계산하는 것과 비슷하지만, 두 인자의 부호를 모두 고려하기 때문에 결과 값이 어느 사분면에 해당하는지까지 정확히 알려준다는 장점이 있습니다.
예제 1
<?php echo(atan2(30,30) . "<br>"); echo(atan2(2,2) . "<br>"); ?>
출력 결과
0.78539816339745<br>0.78539816339745<br>
위 예제에서 atan2(30, 30)과 atan2(2, 2)는 모두 30/30 = 1, 2/2 = 1로 동일한 비율을 가지므로 같은 값인 약 0.7854(즉, Pi/4 라디안)를 반환합니다.
예제 2
음수 값을 사용한 또 다른 예제를 살펴보겠습니다 −
<?php echo(atan2(-15,-15) . "<br>"); echo(atan2(-0.90,-0.70) . "<br>"); ?>
출력 결과
-2.3561944901923<br>-2.2318394956456<br>
두 인자가 모두 음수인 경우 결과는 제3사분면에 해당하며, -Pi와 -Pi/2 사이의 음수 라디안 값으로 반환됩니다. 이처럼 atan2()는 좌표 평면상의 각도 계산, 벡터 방향 계산 등에서 특히 유용하게 활용됩니다.