gpt4 book ai didi

android - 在增强现实应用程序中变换屏幕上的纬度、经度位置

转载 作者:太空狗 更新时间:2023-10-29 13:30:04 24 4
gpt4 key购买 nike

这是我在这个论坛上的第一篇文章,我是编程新手。我想构建一个应用程序,我可以在其中准确查看手机上某些 gps 值的位置。我知道很多应用程序,比如 junaio、mixare 和其他应用程序,但它们只显示对象的方向而且它们不是很准确(它们没有将它投影到屏幕上的确切位置的目标) - 所以我想自己搭建。我在 android 中编程,但我认为在 iPhone 上也一样。

我遵循了 dabhaid 中建议的步骤:

There are three steps.

1) Determine your position and orientation using sensors.

2) Convert from GPS coordinate space to a planar coordinate space by determining the relative position and bearing of known GPS coordinates using e.g great circle distance and bearing. (your devices stays at the origin of the coordinate space with this scheme)

3) Do a perspective projection http://en.wikipedia.org/wiki/3D_projection#Perspective_projection to figure out where on the plane that is your display (ok, your camera sensor) the objects should appear, so you can augment them.

第 1 步:很简单,我从我的移动设备 (x,y,z) 获得了 gps 位置和所有方向。为了进一步改进,我可以使用一些算法来平滑这些值(平均值、低滤波器等)。

第 2 步: 我不知道平面坐标空间的确切含义。我有一些不同的方法来转换我的 gps 坐标空间。其中之一是 ECEF(以地球为中心),其中 0,0,0 是地球的中心。不知何故,这对我来说看起来不太好,因为一个轴的每一个微小变化都会导致其他两个轴的变化。所以如果我改变高度,所有的 3 轴都会改变。我不知道我是否可以按照这个坐标系执行步骤 3。在第 2 步中提到:using haversine - 这会给我到点的距离,但我没有从中得到 x、y、z。我是否必须通过使用三角函数(方位角(α)+ 距离(斜边))来计算 x,y?

第 3 步: 这个方法看起来很酷!如果我有来自第 2 步 的坐标空间,我可以使用维基百科上的公式计算d_x,d_y,d_z。但是在这一步之后,我还没有完成,因为我只有坐标并且为了将它投影到我的屏幕上,我只需要两个坐标?来自维基百科的文本通过计算 b_x,b_y 继续 他们使用 e_x,e_y,e_z 这是观众相对于显示表面的位置 -> 我怎样才能得到这些值从我的移动设备? (安卓/ios)。维基百科建议的另一种方法是:使用维基百科上提到的公式计算 b_x,b_y by。在这个公式中,他们使用屏幕尺寸 s_x,s_y 和记录表面尺寸 r_x,r_y。同样,如何从我的移动设备获取录音界面?

我在 Internet 上找不到它的任何内容。 android/ios上好像从来没有人实现过透视投影……

非常感谢您的所有回答!此外,指向有用网站的链接也会有所帮助!

最佳答案

我认为您可以在另一个线程中找到很多答案:Transform GPS-Points to Screen-Points with Perspective Projection in Android .

希望对您有所帮助,再见!

关于android - 在增强现实应用程序中变换屏幕上的纬度、经度位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16690229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com