Синус к радианам Objective-C

В этой части приложения, над которым я работаю, у меня есть следующее уравнение в задаче C. Все переменные являются числами с плавающей точкой. r - это синус угла, и я хотел бы преобразовать r в радианы при отображении в текстовом поле.

r = ns/ni
r = sinf(r);
rr = asinf(r);

textfieldRi.text = [NSString stringwithFormat:@"%.02f", rr];

Я не получаю правильных результатов. Любые предложения, пожалуйста?

2 ответа

Решение

Я не совсем уверен, что вы думаете, что вы получаете, выполняя синус, за которым следует обратный синус, за исключением, возможно, для обеспечения диапазона r уменьшается до минимального диапазона, в этом случае asin(sin(r)) должно работать нормально, при условии r уже в радианах.

Если вы хотите конвертировать r в радианах, я должен предположить, что это в градусах, в этом случае вам просто нужно сделать что-то вроде:

radians = degrees * 3.141592653589 / 180.0; // or M_PI in math.h.

Objective-c автоматически использует радианы вместо градусов, однако для преобразования градусов в радианы делим на 180, а затем умножаем на PI.

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