Преобразование полярных в декартовы координаты (0-360 градусов)
В настоящее время я использую следующий код для преобразования декартовых (x, y) координат в угол (0-360 градусов):
def anti_clockwise(x,y):
alpha = degrees(atan2(y,x))
return (alpha + 360) % 360
Сейчас я пытаюсь вернуться назад, указав расстояние (например, 100) и угол (результат из кода выше), чтобы вернуться к некоторым координатам x, y.
Я смог заставить это работать, используя простую функцию тригонометрии, но это ограничено 0-90 градусами. Есть ли способ получить координаты x, y для полного диапазона 0-360 градусов?
Вот то, что я использую, но понял, что я не преобразовал обратно в радианы!
def get_coord(magnitude, degrees):
angle = radians(degrees)
x = magnitude * cos(angle)
y = magnitude * sin(angle)
return x, y
1 ответ
Решение
Следующее было проверено и работает:
def get_coord(magnitude, degrees):
angle = radians(degrees)
x = magnitude * cos(angle)
y = magnitude * sin(angle)
return x, y
Проблема не заключалась в преобразовании в радианы во время вычисления угла.