Полярный угол точки
Дана точка
Необходимо вычислить угол между точкой и осью 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