Как добавить соображения расстояния в пример кода WWDC 2010 Teapot в iOS?

Я пробую пример кода чайника CoreMotion с WWDC 2010. Прямо сейчас код учитывает движение устройства, за исключением расстояния от визуализируемого 3D-объекта и устройства. Как я могу добавить это?

Пример: если я оттягиваю устройство от визуализируемого 3D-объекта, 3D-объект должен стать меньше. Если я расположим устройство близко к визуализируемому 3D-объекту, 3D-объект должен стать больше. Если я панорамирую влево, 3D-объект должен быть перемещен вправо (и, возможно, за пределы экрана). Если я перемещаюсь вправо, 3D-объект должен быть перемещен влево (и, возможно, за пределы экрана).

Я понятия не имею, с чего начать поиск. Можно ли это вычислить с помощью датчиков устройства?


person MiuMiu    schedule 04.03.2013    source источник
comment
Рассматривали ли вы возможность дать вашему объекту координаты GPS?   -  person Captain Kenpachi    schedule 04.03.2013


Ответы (1)


Внутренние датчики (гироскоп, акселерометр, компас) не справятся с этой задачей, потому что у них нет фиксированной точки отсчета в физическом мире. Есть вопрос/ответ о проблемах с вычислением относительного положения по акселерометрам здесь и здесь.

Приложения дополненной реальности часто решают проблему, используя камеру для определения точки отсчета (например, QR-кода, размещенного на столе, или отслеживания другого объекта) и расчета изменений размера/ориентации точки отсчета для перерисовки дополненного объекта.

Основная отправная точка для изучения алгоритмов и подходов здесь.

person Pliskin    schedule 04.03.2013