0

現在 Android AR アプリケーションをプログラミングしていますが、最初のデバイスの傾きに応じて方位角の計算に問題があります。

ROTATION_VECTOR センサーを使用して、方位角、高度、および傾きを取得します。

アプリケーションを起動し、電話が地面に対して垂直である場合、北からの良好な方位角が得られます。アプリケーションを起動し、電話が地面と平行になっていると、値が正しくありません。デバイスの傾きを変更すると、奇妙な値も表示されます。

これは私のコードです:

public void onSensorChanged(SensorEvent event)
{
    if (event.sensor.getType() == sensor.TYPE_ROTATION_VECTOR)
    {
        SensorManager.getRotationMatrixFromVector(rotationVectorMatrix, event.values);
        SensorManager.remapCoordinateSystem(rotationVectorMatrix, SensorManager.AXIS_X, SensorManager.AXIS_Z, rotationMatrix);
        SensorManager.getOrientation(rotationMatrix, orientation);
        ...
    }
}
4

1 に答える 1