Я пытаюсь написать приложение дополненной реальности. Я использую координаты компаса, гироскопа и GPS для создания наложений. Все работает отлично, за исключением случаев, когда пользователь покидает портретный режим. Должна быть просто простая проблема с триггером, которую я не могу понять.iPhone тригонометрия для ориентации
Чтобы определить, находится ли координата в поле зрения, я использую значение азимута и наклона центральной точки iPhone, которое рассчитывается в начале программы. Азимут определяется как движение влево и вправо, когда телефон направлен вверх, а направление движения вверх и вниз, когда телефон направлен вверх. Затем я обновляю это значение с помощью данных гироскопа и компаса по мере его обновления. Поэтому, если я правильно обновляю наклон и азимут центральной точки, все должно работать.
Проблема в том, что когда iPhone повернут, его определение азимута и наклона остается неизменным по отношению к телефону. Таким образом, наклон по-прежнему определяется как до верхней части телефона, хотя телефон боком.
То, что я пытался что-то делал так:
self.centerPoint.azimuth = (degToRad(angleX)*cosZ) + (degToRad(angleY)*sinZ);
self.centerPoint.inclination = (degToRad(angleY)*cosZ) + (degToRad(angleX)*sinZ);
где degToRad (х) преобразует из градусов в радианы, cosZ и sinZ является соз и грех г-угла от гироскопа, соответственно, и angleX и angleY - углы x и y из гироскопа. X-угол от гироскопа измеряет угол вверх, Y-угол измеряет влево-вправо, а Z-угол измеряет вращение телефона от портретного до пейзажного.
Кажется, что не работает. Когда я поворачиваю телефон в сторону, наклон резко увеличивается. Кто-нибудь может помочь?
Я должен добавить, что обычно, когда учитываю только портретную ориентацию, я использовал: azimuth = degToRad (angleX) и наклон = degToRad (angleY). Это работает для портретной ориентации. Я должен просто умножить это на некоторый фактор, чтобы учесть разный угол.
Веб-сайт Apple Stack Exchange? – Shoe 2010-11-30 20:35:18
Нет, это вопрос программирования, а не вопрос программного обеспечения Apple. – 2010-11-30 23:01:52