我的问题与更改Android中的传感器坐标系类似。
我想能够比较用户的运动,而不受设备方向的影响。这样,当用户将手机保持在纵向并弯曲手臂时,加速度读数与当他将手机保持在横向并朝同一方向弯曲手臂时相同。
这就是我所谓的“用户”坐标系。它不同于世界坐标系,因为用户面对的风向不重要。它也不同于设备坐标系,因为用户如何握住设备不重要。
在我的应用程序中,每次运动之前进行校准步骤是可以接受的,以确定基础/静止方向矩阵。也许只需要将第一个移动矩阵乘以第二个的逆(然后与新值相乘)?
提到的答案似乎是正确的,但我需要更具体的解释,实际代码示例最理想。
请注意,remapCoordinateSystem功能不能满足要求,因为它仅接受直角。我需要能够处理小偏差,因为设备固定在手腕上,可能不总是与手臂成直角。
我想能够比较用户的运动,而不受设备方向的影响。这样,当用户将手机保持在纵向并弯曲手臂时,加速度读数与当他将手机保持在横向并朝同一方向弯曲手臂时相同。
这就是我所谓的“用户”坐标系。它不同于世界坐标系,因为用户面对的风向不重要。它也不同于设备坐标系,因为用户如何握住设备不重要。
在我的应用程序中,每次运动之前进行校准步骤是可以接受的,以确定基础/静止方向矩阵。也许只需要将第一个移动矩阵乘以第二个的逆(然后与新值相乘)?
提到的答案似乎是正确的,但我需要更具体的解释,实际代码示例最理想。
请注意,remapCoordinateSystem功能不能满足要求,因为它仅接受直角。我需要能够处理小偏差,因为设备固定在手腕上,可能不总是与手臂成直角。