2010-01-14 2 views
3

Как можно взять значения x, z, создаваемые акселерометром, и перевести их как значения , которые будут представлять точку в 360 градусах вращения iphone? (LANDSCAPED) он может быть от -2 до 2 (0 для средней точки), и он может быть от 0 до 360, если он представляет значение для всего поворота iphone.Iphone-SDK: акселерометр x, z до 360 градусов?

Мне нужен он для игры в ландшафте im making Какое лучшее решение в этом случае?

ответ

4

Используйте функцию atan2(). Для того, чтобы получить значение в градусах:

#include <math.h> 

... 

float degrees = atan2(x, y) * 180/3.14159; 
+0

Ее почти так же совершенна, я делаю: atan2 (AccX, Accz) * 180/3,14159 одна проблема: значение макс/мин, когда экран направлен вверх, как сделать я меняю его так, чтобы ценность была, когда спина iphone повернулась ко мне? –

+0

, изменив его на atan2 (-AccZ, -AccX), сделал этот трюк. –