gpt4 book ai didi

android - 来自 Android 加速度计的方向

转载 作者:可可西里 更新时间:2023-11-01 19:09:53 24 4
gpt4 key购买 nike

我在 2 种不同的设备(Elocity A7 和 Archos 7 Home 平板电脑)上测试了加速度计输出,但传感器似乎给出了不同的结果。我已将其编程为设置为横向模式,但 x 轴和 y 轴似乎是两个设备之间的对立面。当垂直于地面时,x 轴返回 10,而 Archos X 轴返回 0。Elocity 平板电脑是 android 2.2,而 Archos 是 2.1。有人能给我指出正确的方向吗?如何从这两个设备之间同步的加速度计获得方向?

最佳答案

事实上,加速度计轴是相对于设备的默认方向的。

这里是如何处理的:

static void canonicalOrientationToScreenOrientation(
int displayRotation, float[] canVec, float[] screenVec)
{
final int axisSwap[][] = {
{ 1, -1, 0, 1 }, // ROTATION_0
{-1, -1, 1, 0 }, // ROTATION_90
{-1, 1, 0, 1 }, // ROTATION_180
{ 1, 1, 1, 0 } }; // ROTATION_270

final int[] as = axisSwap[displayRotation];
screenVec[0] = (float)as[0] * canVec[ as[2] ];
screenVec[1] = (float)as[1] * canVec[ as[3] ];
screenVec[2] = canVec[2];
}

此解决方案由 NVidia 提供。检查他们的white paper关于安卓加速度计了解更多详情。

关于android - 来自 Android 加速度计的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5877780/

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