2012-11-18 3 views
1

При переносе моего приложения на Android в iOS меня смутила одна вещь, поэтому я хочу узнать: правильно ли я работаю или не работает. На Android-устройстве акселерометр возвращает значения в единицах физических измерений: m/s2. На ipad я получаю суммарную силу приблизительно = 1.0 для неподвижного устройства (и я ожидаю 9.8). Мое первое объяснение состоит в том, что возвращаемое значение нормализуется до 9.8, поэтому я должен умножить его на 9.8, чтобы получить реальную силу. Моя вторая идея - мой код совершенно не прав, но трудно поверить.- это акселерометр IPad, нормализованный под действием силы тяжести.

ответ

3

С Документах по CMAcceleration:

CMAcceleration 
The type of a structure containing 3-axis acceleration values. 

typedef struct { 
     double x; 
     double y; 
     double z; 
} CMAcceleration; 

оси Х (ускорение силы тяжести) G.
Ускорение оси Y в G (сила тяжести).
Ускорение по оси Z в G (сила тяжести).

А Г является единицей силы гравитации равна, оказываемым гравитационным полем Земли (9,81 м S-2).

+0

поэтому значения, которые я получаю на x y и z, такие как 0.998, включают в себя гравитацию? на самом деле у меня есть математическое уравнение, которое требует ускорения по оси х ... должен я пользователь 0.998 или 0.998 * 9.8 ?? – Nil

Смежные вопросы