Дополненная реальность - отображающийся GPS к OpenGL

Я пишу приложение AR Android и имею мою работу механизма, но она содержит странное поведение, которое я, может казаться, не получаю, фиксируют. Я накладываю поверхность 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 для устранения плавающей точки, но это не помогло, и производительность была ужасна.

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

7
задан genpfault 26 May 2011 в 15:45
поделиться

1 ответ

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

Итак, LAT 12.34567890 LON 100.23456789 находится в поле (12,100) с координатами (0,34567890, 0,23456789). Вы захотите передать (0,34567890, 0,23456789) в OpenGL.

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

1
ответ дан 7 December 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: