Принадлежность точки к одной из секций окружности - вопрос по формуле

Необходимо найти принадлежность некой точки к одной из 32 секций. Секции делят прямоугольник 450 на 450 как квадратный торт - в виде углов по 11.25 градуса, все лучи из центра.

Если построить окружность через отмеченную точку с центром в центре прямоугольника, то какой формулой узнать угол между самой верхней точкой окружности и отмеченной? Из этого легко можно будет вывести номер секции. Важно, чтобы углы больше 180 градусов считались именно в таком направлении, а не в противоположном.


Ответы (1 шт):

Автор решения: MBo

Для координат x,y и центра xc, yc:

fi = atan2(x - xc, y - yc)
if fi < 0:
   fi += 2 * Pi
deg = degrees(fi)

x и y поменяны местами, чтоб учесть вашу систему координат (ноль сверху, по часовой стрелке) - если результат не тот, что ожидается - знаки ещё нужно модифицировать

→ Ссылка