Преобразование полярных в декартовы координаты (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

Проблема не заключалась в преобразовании в радианы во время вычисления угла.

Другие вопросы по тегам