gpt4 book ai didi

android - 获取加速度计上 getOrientation 的最小值和最大值?

转载 作者:行者123 更新时间:2023-11-29 17:46:21 32 4
gpt4 key购买 nike

我目前在 Android 上使用加速度计,遇到了一个有趣的情况。我需要找出以下各项的最大值,而无需最终用户在某些精心设计的校准程序中翻转手机。我正在寻找的具体值是...

@Override
public void onSensorChanged(SensorEvent event) {

SensorManager.getOrientation(outR, xyz);

float X, Y, XMax, YMax;

X = xyz[1];
Y = xyz[2];

XMax = ???;
YMax = ???;
}

我在网上四处搜寻,但并没有很幸运地确定这些值是什么(它似乎因手机而异),也没有看到有人提到从某个地方提取该值的方法。

有谁知道如何确定 xyz[1] 和 xyz[2] 的最大值/最小值?

更新:我的意思的一个例子如下:

当我直接报告从xyz[1]输出的 float ,然后一路前后移动我的手机,我得到以下结果:

它报告的最小值:-1.50(给或取十分之一)它报告的最大值:1.50(给或取十分之一)

当我左右滚动手机时,我得到以下 xyz[2]:

它报告的最小值:-3.14(给或取十分之一)它报告的最大值:3.14(给或取十分之一)

有人告诉我这在手机之间会有所不同,但是可以写下来。

最佳答案

我不知道你在说什么最大/最小值,但 getOrientation 会用以下数据填充一个向量:

xyz[0]: azimuth [-π,π]
xyz[1]: pitch [-π,π]
xyz[2]: roll [-π/2,π/2]

来自 docs :

All three angles above are in radians and positive in thecounter-clockwise direction.

另请参阅 SensorManager.java:1094 类:

https://android.googlesource.com/platform/frameworks/base/+/b267554/core/java/android/hardware/SensorManager.java

关于android - 获取加速度计上 getOrientation 的最小值和最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26340954/

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