Функция JavaScript atan2 ()не дает ожидаемых результатов

. Обычно полярные координаты идут от 0 до π до 2 . π(непосредственно перед 2 π на самом деле, так как оно снова равно 0 ). Однако при использовании функции JavaScript atan2()я получаю другой, странный диапазон :

Cartesian X | Cartesian Y | Theta (θ)
===========================================================
     1      |      0      | 0 (0 × π)
     1      |      1      | 0.7853981633974483 (0.25 × π)
     0      |      1      | 1.5707963267948966 (0.5 × π)
    -1      |      1      | 2.356194490192345 (0.75 × π)
    -1      |      0      | 3.141592653589793 (1 × π)
    -1      |     -1      | -2.356194490192345 (-0.75 × π)
     0      |     -1      | -1.5707963267948966 (-0.5 × π)
     1      |     -1      | -0.7853981633974483 (-0.25 × π)

. Как вы можете видеть, после того, как он достигает π(180° ), он переходит вниз к – π(–180° )и возвращается к 0. Как я могу заставить его использовать диапазон {0,..., 2 π } вместо {– π ,..., π } ? Я пытался продумать каждый расчет, чтобы «исправить» значения, но я также хотел бы знать, почему JavaScript выбирает этот диапазон вместо типичного полярного диапазона. Спасибо!

7
задан TerranRich 27 April 2012 в 01:04
поделиться