Дополненная реальность Демо - PullRequest
2 голосов
/ 07 марта 2011

Я пытаюсь построить демонстрацию дополненной реальности, как это приложение для iPhone: http://www.acrossair.com/acrossair_app_augmented_reality_nearesttube_london_for_iPhone_3GS.htm

Однако моя геометрия / математика в наше время немного ржавая.

Это то, что я знаю:

  • Если мой телефон Android работает в ландшафтном режиме (с кнопкой «Домой» слева), моя ось z указывает в направлении, которое я смотрю.

  • Из датчиков моего телефона я знаю, какой угол у моей оси z с северной осью, назовем этот угол тета.

  • Если у меня естьВектор от моей текущей позиции до точки, которую я хочу показать на моем экране, я могу вычислить угол, который этот вектор делает с моей осью Z.Давайте назовем этот угол альфа.

Итак, исходя из угла альфа, у меня есть представление о том, где находится точка, и я могу показать ее на экране (как ближайшийTube App).

Это базовая теория простой демонстрации (конечно, это не что иное, как приложение, но это первый шаг).

Может кто-нибудь подсказать мне немного по этому вопросу?

[Обновить]

Я нашел этот очень интересный пример , однако мне нужно, чтобы движение было и на xx, и наyy ось.Есть намеки?

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

Основы просты.Вам нужен угол между вашим местоположением и вашей судьбой (арктангенс) и курсом (из цифрового компаса в вашем телефоне).Смотрите этот ответ: Движение дополненной реальности Там есть некоторый код цели-c, который вы можете прочитать, если вы приехали из Java.

1 голос
/ 10 марта 2011

То, что вы хотите, это трехмерная кривая заполнения, например, кривая Гильберта. Это пространственный индекс более 3 координат. Это сравнимо с октрой. Вы хотите сохранить объект в этом октодереве и выполнить поиск по глубине по координатам, которые вы записали на своем iphone в качестве фиксированной координаты, вероятно, в центре экрана. Октри разделяет пространство непрерывно в восьми направлениях, а трехмерная кривая заполнения пространства - это гамильтонова траектория, проходящая через пространство, похожее на фрактал, но она явно отличается от области октре. Я использую 2-мерную кривую Гильберта для ускорения поиска в геопространственных базах данных. Может быть, вы хотите начать с этого первым?

...