Kąt w układzie współrzędnych - atan2
Jak wyznaczyć kąt, utworzony między dodatnią poziomą półosią układu współrzędnych a prostą przechodzącą przez środek układu współrzędnych i zadany punkt?
Math.atan2(y, x)
- Parametry:
Number
y - współrzędna pionowaNumber
x - współrzędna pozioma- Wartość:
Number
- kąt wyrażony w radianach z przedziału od -Math.PI do Math.PI
Oblicza wartość funkcji arcus tangens z ilorazu y/x
. W wyniku otrzymujemy wartość kąta, utworzonego pomiędzy dodatnią poziomą półosią układu współrzędnych a prostą przechodzącą przez środek układu współrzędnych i zadany punkt. Kąt ten jest wyrażony w radianach i mierzony w kierunku przeciwnym do ruchu wskazówek zegara.
Zwróć uwagę, że pierwszym argumentem tej funkcji jest współrzędna pionowa, a nie - tak jak możemy być przyzwyczajeni - pozioma.
Przykład Math.atan2
// Dodatnia pozioma półoś: Math.atan2(-0, 0); // -0 Math.atan2(0, 0); // 0 Math.atan2(0, 0.01); // 0 Math.atan2(0, 1); // 0 Math.atan2(0, Infinity); // 0 // Pierwsza ćwiartka układu współrzędnych Math.atan2(0.5, 1); // 0.4636476090008061 Math.atan2(1, 1); // 0.7853981633974483 == Math.PI/4 Math.atan2(1, 0.5); // 1.1071487177940904 Math.atan2(Infinity, Infinity); // 0.7853981633974483 == Math.PI/4 // Dodatnia pionowa półoś: Math.atan2(0.01, 0); // 1.5707963267948966 == Math.PI/2 Math.atan2(1, 0); // 1.5707963267948966 == Math.PI/2 Math.atan2(Infinity, 0); // 1.5707963267948966 == Math.PI/2 // Druga ćwiartka układu współrzędnych Math.atan2(1, -0.5); // 2.0344439357957027 Math.atan2(1, -1); // 2.356194490192345 == 3/4*Math.PI Math.atan2(0.5, -1); // 2.677945044588987 Math.atan2(Infinity, -Infinity); // 2.356194490192345 == 3/4*Math.PI // Ujemna pozioma półoś: Math.atan2(-0, -0); // 3.141592653589793 == -Math.PI Math.atan2(0, -0); // 3.141592653589793 == Math.PI Math.atan2(0, -0.01); // 3.141592653589793 == Math.PI Math.atan2(0, -1); // 3.141592653589793 == Math.PI Math.atan2(0, -Infinity); // 3.141592653589793 == Math.PI // Trzecia ćwiartka układu współrzędnych Math.atan2(-0.5, 1); // -0.4636476090008061 Math.atan2(-1, 1); // -0.7853981633974483 == -Math.PI/4 Math.atan2(-1, 0.5); // -1.1071487177940904 Math.atan2(-Infinity, Infinity); // -0.7853981633974483 == -Math.PI/4 // Ujemna pionowa półoś: Math.atan2(-0.01, 0); // -1.5707963267948966 == -Math.PI/2 Math.atan2(-1, 0); // -1.5707963267948966 == -Math.PI/2 Math.atan2(-Infinity, 0); // -1.5707963267948966 == -Math.PI/2 // Czwarta ćwiartka układu współrzędnych Math.atan2(-1, -0.5); // -2.0344439357957027 Math.atan2(-1, -1); // -2.356194490192345 == -3/4*Math.PI Math.atan2(-0.5, -1); // -2.677945044588987 Math.atan2(-Infinity, -Infinity); // -2.356194490192345 == -3/4*Math.PI Math.atans(NaN, 0); // NaN Math.atan2(0, NaN); // NaN Math.atan2(NaN, NaN); // NaN