Android 增强现实-将GPS映射到OpenGL

Android 增强现实-将GPS映射到OpenGL,android,opengl-es,augmented-reality,Android,Opengl Es,Augmented Reality,我正在编写一个Android AR应用程序,并让我的引擎工作,但它包含一个奇怪的行为,我似乎无法得到修复。我将OpenGL曲面覆盖在相机图像上,并相应地将3D对象放置在视图中。如果我使用虚拟数据作为AR对象的位置,即在OpenGL曲面上,LAT 10 LON 10变成x=10 y=10,则覆盖效果非常好。但是,如果我对LAT和LON使用直接GPS坐标(例如LAT 12.34567890 LON 100.23456789),则我的所有对象要么在其位置周围移动,要么根本不显示。我知道在使用浮点和Op

我正在编写一个Android AR应用程序,并让我的引擎工作,但它包含一个奇怪的行为,我似乎无法得到修复。我将OpenGL曲面覆盖在相机图像上,并相应地将3D对象放置在视图中。如果我使用虚拟数据作为AR对象的位置,即在OpenGL曲面上,LAT 10 LON 10变成x=10 y=10,则覆盖效果非常好。但是,如果我对LAT和LON使用直接GPS坐标(例如LAT 12.34567890 LON 100.23456789),则我的所有对象要么在其位置周围移动,要么根本不显示。我知道在使用浮点和OpenGL框架时会遇到一些问题,但我一直在阅读相关文章,在停止这种行为时仍然遇到困难。还有其他人有这个问题吗?我是否应该在GPS和openGL曲面之间使用比例因子,如果是,哪些值是好的?我尝试将我的LAT和LON扩展1000000以消除浮点,但没有效果,性能很差


我很快就能让它工作了,任何帮助都将不胜感激

找出您的原始坐标所在的1x1或0.5x0.5度“框”,然后减去该框,这样您的坐标现在相对于“框”而不是整个世界

因此,LAT 12.34567890 LON 100.23456789位于坐标为0.34567890,0.23456789的方框(12100)中。您需要将(0.34567890,0.23456789)传递给OpenGL


从+/-180.0度范围内的浮点运算中获得约1m的精度充其量只是一个粗略的过程,一旦你开始执行OpenGL的所有矩阵运算,事情就会变得非常不稳定。

Hi genpfault谢谢你的回复。你让我换了个思路。我开始认为渲染器把事情搞砸了,但后来我想起了黄金法则,“这不是他们的代码,是我的”。在采取更系统的方法之后,我发现我使用的旋转值引入了抖动,所以我需要对它进行更多的过滤。希望我快过了这一关,可以把它发布。。。