Полярный угол точки



Дана точка
Необходимо вычислить угол между точкой и осью OX

Для вычисления используем формулу:

alpha = arctg (y / x)

Но (!), нам необходимо рассматривать отдельно случай когда x = 0, чтобы избежать этого, мы воспользуемся функцией atan2, которая вычисляет угол в диапазоне (- pi; pi].
Наша функция возвращает этот угол в диапазоне [0; 2*pi)


Листинг C++

double polar_angle (point p)
{
    double alpha = atan2(p.y, p.x);
    if (alpha < 0) alpha += 2 * pi;
    return alpha;
}

11.06.2007, 16:55

По всем вопросам обращаться: rumterg@gmail.com