Ориентация на iPhone выражена как вращение - PullRequest
1 голос
/ 18 июня 2009

Ола Фолкс,

 This might not be the right place for this. Let me know where I should post if I should post it elsewhere.

 I want to get the orientation of the device. I am thinking I can use something like this:

float fAngleX = atan2(acceleration.y, acceleration.z);
float fAngleY = atan2(acceleration.x, acceleration.z);
float fAngleZ = atan2(acceleration.y, acceleration.x);


 First, is my formula right?
 Second, is this going to work for the device? 
 Third, I'm going back and forth about filtering out gravity. Any thoughts?
 Lastly, is there a better way to get the devices orientation expressed as rotation for all three axis?

Thanx

-isdi-

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Давать вращение устройства как три числа, как это, на самом деле неоднозначно. Это может запутать. Я думаю, что это может быть лучшим местом для начала: http://en.wikipedia.org/wiki/Euler_angles

0 голосов
/ 19 июня 2009

Пока вы осторожны, вы можете использовать углы, хотя, вероятно, будет проще использовать векторы напрямую.

Вы почти наверняка захотите сделать фильтрацию; простой нижний проход был бы хорош, но не отфильтровывайте гравитацию, поскольку соответствует ориентации устройства:).

...