Принадлежность точки к одной из секций окружности - вопрос по формуле
Необходимо найти принадлежность некой точки к одной из 32 секций. Секции делят прямоугольник 450 на 450 как квадратный торт - в виде углов по 11.25 градуса, все лучи из центра.
Если построить окружность через отмеченную точку с центром в центре прямоугольника, то какой формулой узнать угол между самой верхней точкой окружности и отмеченной? Из этого легко можно будет вывести номер секции. Важно, чтобы углы больше 180 градусов считались именно в таком направлении, а не в противоположном.
Ответы (1 шт):
Для координат x,y и центра xc, yc:
fi = atan2(x - xc, y - yc)
if fi < 0:
fi += 2 * Pi
deg = degrees(fi)
x и y поменяны местами, чтоб учесть вашу систему координат (ноль сверху, по часовой стрелке) - если результат не тот, что ожидается - знаки ещё нужно модифицировать