4

我成功地将(纬度,经度)坐标转换为(东,北)坐标,并试图找出一种方法来准确地将(东,北)坐标放置在 AR 世界中。

我当前问题的示例:

设备坐标系:

具有正负 x、y 和 z 轴的设备坐标系,原点朝向相机位于 z 轴的正侧。

从(纬度,经度)坐标的转换给了我一个(东,北)坐标,

(+x, 0, +z) where x=East, z=North

现在,如果我面朝北,EN 坐标将放在我身后,因为前向轴是-z。如果我面向南方,EN 坐标将再次放置在我身后,因为它取决于我设备的方向。

我的问题:

在 ARCore 中,无论设备处于什么方向,都可以固定设备的坐标系吗?或者是否有考虑设备方向并允许锚点静态放置的算法?

编辑:

我在 ARCore-Sceneform GitHub 上发布了同样的问题,这些是我收到的答案:

GitHub 问题线程

4

1 回答 1

0

首先,让我们看看Google ARCore 工程师对世界坐标是怎么说的

世界坐标空间

随着 ARCore 对环境的理解发生变化,它会调整其世界模型以保持事物的一致性。发生这种情况时,摄像机和锚点的数字位置(坐标)会发生显着变化,以保持它们所代表的物理位置的适当相对位置

这些变化意味着每一帧都应该被认为是在一个完全独特的世界坐标空间中。锚点和相机的数字坐标决不能在检索它们的渲染帧之外使用。如果需要考虑超出单个渲染帧范围的位置,则应创建锚点或使用相对于附近现有锚点的位置。

在此处输入图像描述

但!

我坚信带有摄像头和传感器的智能手机(在 ArSession 中)从坐标空间的相对中心开始(对于我们来说是相对的,对于 ARCore 来说当然是绝对的):

// X, Y, Z coordinates must be counted from zero, mustn't they?

(x: 0.0, y: 0.0, z: 0.0)

然后,在某些情况下,世界坐标空间可能会改变。

于 2019-04-23T14:00:16.123 回答