Пеленг должен зависеть от поля зрения камеры.Для iPhone 4 горизонтальный угол обзора составляет 47,5, поэтому 320 точек / 47,5 = xxx точек на градус, используйте его для горизонтального смещения.Вы также должны добавить адаптивный фильтр к акселерометрам, вы можете получить его из проекта AccelerometerGraph от Apple.
У вас есть вращение по одной оси (подшипник), вы должны получить вращениена двух других из акселерометров.Atan2 двух осей дает вам вращение на третьей.Перейдите к UIAcceleration и представьте ось, физически пробивающую устройство, если это помогает, и сделайте double xAngle = atan2(acceleration.y, acceleration.z);
Так что, когда у вас есть вращение вверх ногами, вы можете повторить то, что вы сделали для горизонтали с вертикальным полем зрения, например: 60 для iPhone.
Это будет грубая реализация :), но добиться плавного движения сложно.Одна вещь, которую вы можете сделать, это использовать гироскопы, чтобы получить более быстрый отклик и периодически корректировать их сигнал с помощью акселерометров.См. Этот доклад для будущих проблем: Sensor Fusion на устройствах Android .Вот веб-сайт , посвященный фильтру Калмана.Если вы решитесь с кватернионами, я рекомендую «Визуализация кватернионов» от Эндрю Дж. Хансона.