Intereting Posts
Как отладить библиотечный модуль Android в Android Studio? Как вернуть фон Button к умолчанию (программно)? Для каждого внутри a для каждого – Java Как получать уведомления о каждом новом изображении, видимом в приложении галереи? Аварийный сигнал срабатывает, если время увлажнителя, чем текущее системное время в android Android SeekBar Сенсорная чувствительность Интернационализация проблемы string.xml Вызывать пользовательскую активность как startActivityForResult Есть ли способ установить Android .img для доступа к содержимому AVD (Android Virtual Device)? Заставить полноэкранный режим для повторного просмотра / переименования в резюме? Android Scrollview в RelativeLayout с ButtonBar Почему Butterknife не может найти ViewHolder внутри анонимного класса? Android Studio 2.0 – NoSuchAlgorithmException: SHA256WITHDSA Подпись недоступна Создавать уникальный идентификатор int в качестве идентификатора уведомления Android Как получить доступ к colors.xml без указания имени цвета или идентификатора ресурса (R.color.name)

Увеличенная реальность – отображение GPS в OpenGL

Я пишу приложение Android AR и работаю над своим движком, но он содержит странное поведение, которое, похоже, не может быть исправлено. Я накладываю поверхность OpenGL на изображение камеры и размещаю 3D-объекты в представлении соответственно. Если я использую фиктивные данные для местоположения моих объектов AR, то есть LAT 10 LON 10 становится x = 10 y = 10 на поверхности OpenGL, тогда наложение отлично работает. Однако, если я использую прямые GPS-координаты для своих LAT и LON (например, LAT 12.34567890 LON 100.23456789), тогда все мои объекты либо перемещаются по их местоположению, либо вообще не появляются. Я знаю, что есть проблемы вокруг использования плавающих точек и рамки OpenGL, но я читал, и мне все еще не удается остановить это поведение. У кого еще возникла эта проблема? Должен ли я использовать коэффициент масштабирования между моим GPS и поверхностью OpenGL, если да, то какие значения хороши? Я попытался масштабировать LAT и LON на 1000000, чтобы устранить плавающие точки, но это не помогло, и производительность была ужасной.

Я настолько близок к тому, что это работаю, что любая помощь будет высоко оценена.

Выясните, в каком поле «1×1» или «0.5×0.5 градусов» ваши исходные координаты находятся, а затем вычитайте это поле, поэтому ваши координаты теперь относятся к «квадрату», а не всему миру.

Таким образом, LAT 12.34567890 LON 100.23456789 находится в коробке (12 100), с координатами (0.34567890, 0.23456789). Вы захотите пройти в (0.34567890, 0.23456789) в OpenGL.

Получение точности ~ 1 м от поплавка с диапазоном +/- 180,0 градусов в лучшем случае является отрывочным, и как только вы начинаете делать все операции с матрицей OpenGL, все начинает дрожать вокруг довольно плохо.