gpt4 book ai didi

Android 将设备坐标系转换为 "user"坐标系

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:39 31 4
gpt4 key购买 nike

我的问题类似于Changing sensor coordinate system in android

无论设备方向如何,我都希望能够相互比较用户的 Action 。因此,当用户以纵向握住手机并弯曲 ARM 时,加速度读数与横向握住手机然后向同一方向弯曲 ARM 时的加速度读数相同。

这就是我所说的“用户”坐标系。它与世界坐标系不同,因为用户面对的风向无关紧要。它不同于设备坐标,因为用户如何握住他的设备应该无关紧要。

在我的应用程序中,在每次移动之前执行校准步骤是可以接受的,这样可以确定基本/静止方向矩阵。可能只是将第一个运动的矩阵乘以第二个运动的逆矩阵(然后乘以新值?)

所提问题的答案似乎是正确的,但我需要更具体的解释,实际的代码示例将是理想的。

注意 remapCoordinateSystem 是不够的,它只接受直角。我需要能够在小偏差的情况下工作,因为设备绑在手腕上,手腕可能并不总是与 ARM 成直角。

最佳答案

我目前正在处理这个问题,我认为这可能会有所帮助: convert device coordinate system to world corrdinate system

我们可以假设,在大多数时间里,人们是站着或走路或坐着使用手机,这意味着用户坐标系共享相同的 z 轴(重力),并且 y 轴之间存在固定的角度差(用户坐标,用户面部正面)和 y 轴(世界坐标,北方向)。学位的差异可以通过TYPE_MAGNETIC_FIELD sensor获得.这样我们就可以从世界坐标转换到用户坐标。

躺在床上使用手机的用户怎么样?我认为对于这种情况,需要通过定义用户坐标的 y 轴来进行预校准,例如通过移动来告诉手机哪个方向是用户脸部的正面。

关于Android 将设备坐标系转换为 "user"坐标系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411430/

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