gpt4 book ai didi

Android getOrientation 描述与输出值不匹配

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:20 27 4
gpt4 key购买 nike

安卓getOrientation()函数说:

  • 索引 0 处的值:方位角介于 pi 和 -pi 之间
  • 索引 1 处的值:音高介于 pi 和 -pi 之间
  • 索引 2 处的值:Roll 在 -pi/2 和 pi/2 之间

但是,在使用模拟器 (Nexus 5 API 25)/设备 (Samsung API 21) 进行测试时,我得到了不同的值范围。我使用 Logcat 来打印这些值。我得到的音高值是从 -pi/2 到 pi/2。屏幕对着天空,取值范围为0~-pi/2,屏幕对着地面,取值范围为0~pi/2。滚动超过 pi/2。

为什么我得到的值与文档不同?

我的代码如下:

public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
System.arraycopy(event.values, 0, mAccelerometerReading,
0, mAccelerometerReading.length);
}
else if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
System.arraycopy(event.values, 0, mMagnetometerReading,
0, mMagnetometerReading.length);
}

if (mAccelerometerReading != null && mMagnetometerReading != null) {
// Update rotation matrix, which is needed to update orientation angles.
mSensorManager.getRotationMatrix(mRotationMatrix, null,
mAccelerometerReading, mMagnetometerReading);


mSensorManager.getOrientation(mRotationMatrix, mOrientationAngles);

Log.d("sensor", Float.toString(mOrientationAngles[1]));
}

最佳答案

请仅与真实设备进行比较(首选)因为 Something Emulator 给出的值与预期的不同在这里,我附上了一份引用资料,请看一下。

Reference 1

Reference 2

你要做的是:-

  1. 创建演示应用程序,它将打印这个俯仰和滚动,然后进行比较。

关于Android getOrientation 描述与输出值不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50996340/

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