2014-09-12 2 views
1

Я пытаюсь преобразовать радианы в градусы. Я уже знаю: 1 radian = 180/PI Это дает мне градусы.CoreMotion convert Iphone Pitch: raidians to degrees

Вы можете проверить свой код здесь: github

Вот моя проблема:

enter image description here

Я получаю радианы данных только от 0 до 1,5, а затем обратно в 0, то из От 0 до -1,5 и обратно до 0. Поэтому, когда я делаю преобразование, я получаю от 0 до 90 и обратно до 0, а затем от 0 до -90 и обратно до 0.

Я хочу, чтобы у меня было 0 до 360, когда я перемещаю шаг Iphone , Я уверен, что это легкая карта, и когда я это увижу, я задержу руку в лоб.

Спасибо за помощь!

+0

Проблема возникает, если ее можно решить, используя '' atan2'' вместо '' atan'' где-то в вашем коде. Я быстро посмотрел на ваш код, но не мог найти что-то вроде этого. Ваша функция 'radiansToDegrees'' выглядит неправильно для меня, по крайней мере, если' 'M_PI'' должен содержать значение Pi. – magnetometer

+0

Что я должен использовать для PI? – DavidF

+0

Вы должны изменить '' var degrees = (радиан * M_PI) '' на '' var degrees = radians * (180.0/M_PI) '', см. Ответ johnnyclem. – magnetometer

ответ

3

Я думаю, что ваша проблема - опечатка.
функция в вашем репо:

вар градусов = (радиан * M_PI)

но, как было отмечено в начале вашего вопроса, то он должен быть

вар градусов = радиан * (180,0/M_PI)