Преобразование радианов в градусы - PullRequest
0 голосов
/ 17 июня 2020

Я запрограммировал следующую функцию:

def horizontal(yAngle, yAcceleration, xAcceleration):
     a = (math.cos(yAngle)*yAcceleration)-(math.sin(yAngle)*xAcceleration)
     return a

Проблема в следующем: math.cos() и math.sin() возвращают значение в радианах. Мне нужно это значение, которое я получаю от math.cos() и math.sin(), в градусах.

Итак, расчет должен быть таким: сначала значение, которое входит в math.cos (x) и math.sin (x) вместо x, выводится в радианах. (Это означает, что в конце есть два значения, потому что это две разные функции, которые получают одно и то же значение). Эти два значения теперь следует преобразовать в градусы. Затем расчет должен происходить следующим образом: a = ( (значение cos в градусах) * yAcceleration) - ( (значение sin в градусах) * xAcceleration)

Я обнаружил, что в Python есть функции math.degrees и math.radians. Я просто пробовал разные варианты, но ничего не подходило. Может ли кто-нибудь показать мне, как его правильно использовать?

Как я могу этого достичь? Спасибо, что помогли мне!

Ответы [ 2 ]

1 голос
/ 17 июня 2020
def cos_deg(x):
    return math.cos(math.radians(x))


def sin_deg(x):
    return math.sin(math.radians(x))

Обратите внимание, что sin и cos не возвращают значение в радианах, они принимают параметр в радианах и возвращают безразмерное значение (хотя радианы в любом случае технически безразмерны).

0 голосов
/ 17 июня 2020

Градусы = 2π * радианы, поэтому вы можете использовать:

def horizontal (yAngle, yAcceleration, xAcceleration): a = (2 * math.pi * math.cos (yAngle) * yAcceleration) - (2 * math.pi * math.sin (yAngle) * xAcceleration) return a

Удачи!

Вам нужно будет восстановить форматирование, на моем телефоне нет опции блокировки кода.

...