游戏旋转矢量儒家 - 值不完整(cp。旋转矢量)

时间:2013-12-29 02:02:04

标签: android orientation android-sensors android-orientation azimuth

Android中的 GameRotationVector 与doc(1)的行为不符合预期。 Android文档说 GameRotationVector 应该提供与 RotationVector 传感器相同的值,不同之处在于它不考虑真正的方位角(磁北)。在这种情况下,我说的是通过以下代码获得的方位角。

public void onSensorChanged(SensorEvent event) {
    SensorManager.getRotationMatrixFromVector(rotMatrix,event.values);
    SensorManager.remapCoordinateSystem(rotMatrix, SensorManager.AXIS_X, SensorManager.AXIS_Z, rotMatrixRemapped);
    SensorManager.getOrientation(rotMatrixRemapped, vals);
    myAzimuthInRadiant = vals[0];
}

当我将设备旋转360°时, RotationVector 传感器会提供从 -pi到pi 的值 - 一切正常,但请看第二张照片。

RotationVector values are as expected from -pi to pi

在第二张图片中,您可以看到 GameRotationVector 在负面网站上提供从 pi / 2到pi 的值,反之亦然。这就是总结= pi ,这是RotationVector范围的一半。

那么这里有什么问题?

GameRotationVector values are just from pi/2 to pi (pos. and neg.)

(1)http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_GAME_ROTATION_VECTOR

0 个答案:

没有答案