Я строю маленький механизм физики, и у меня возникли проблемы с преобразованием моего значения Radian в градусы с использованием atan
, так как мне нужен угол для вывода только в градусах.Преобразование из радианов в градусы
Во-первых, у меня есть значение x
и y
, и мне нужно найти угол, используя atan
, поэтому я делю у по х, как так:
angleDivide = yN/xN;
Затем, прежде чем положить это значение в tan
я попытка преобразовать его в градусы так:
angleToDegrees = angleDivide * (3.14/180);
Затем я помещаю angleToDegrees в atan
:
angle = atan(angleToDegrees);
Но когда я показываю angle
, я все еще получаю радианские значения.
Пожалуйста, не могли бы вы рассказать мне, что не так с моим кодом и как это исправить?
Это ужасно плохое приближение к pi. ** Сначала **, используйте 'M_PI', если он определен, пожалуйста, или определите его для точности цифр LDBL_DIG_10'. ** Второе **, вы должны преобразовывать _output_ из 'atan()' из рад в градусы, а не вход (который является только наклоном). ** Третий **, вы должны использовать 'atan2 (y, x)', а не 'atan (y/x)'. –
Um ... Во-первых, ваш текст говорит, что вы хотите поместить значение в 'tan', но код затем использует его в' atan'. Итак, это для 'tan' или для' atan'? Прими решение. Во-вторых, если это для 'atan', то почему вы его конвертируете? Аргумент 'atan' не является углом. Это касательная ценность. Тангенс не является ни «радианами», ни «градусами». Тангенс - бесплотная ценность. Преобразование «радианов в градусы» для чего-то, что не является углом, не имеет никакого смысла. Это * результат * atan', который вы можете преобразовать в градусы. Результат, а не аргумент. – AnT