根据手机移动移动图像(ROTATION_VECTOR)

时间:2016-04-20 09:17:01

标签: android android-sensors gyroscope

我非常擅长在Android设备上使用传感器。我有以下代码(我从各种教程中获得)。

 public void onSensorChanged(SensorEvent event) {

    if (event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR)
    {
        float[] orientationVals = new float[3];
        // Convert the rotation-vector to a 4x4 matrix.
        SensorManager.getRotationMatrixFromVector(mRotationMatrix,
                event.values);
        SensorManager.getOrientation(mRotationMatrix, orientationVals);

        orientationVals[0] = (float) Math.toDegrees(orientationVals[0]);
        orientationVals[1] = (float) Math.toDegrees(orientationVals[1]);
        orientationVals[2] = (float) Math.toDegrees(orientationVals[2]);

        txtAzimuth.setText("Azimuth : "+d.format(orientationVals[0]) + '°');
        txtPitch.setText("Pitch : "+d.format(orientationVals[1]) + '°');
        txtRoll.setText("Roll : "+d.format(orientationVals[2]) + '°');
    }

}

好的,所以我有这些价值观。如何根据手机的移动使用它们移动图像(各种标记)。例如,如果我将手机向右移动,图像应向左移动,当手机向后移动时,图像应向右移动。

我做了很多谷歌搜索,我发现的主要是OpenGl。

像这样:

OpenGl world using camera to find object

这个问题询问我想要什么,除了随机移动的对象。我希望对象的位置由我决定。

我不想使用OpenGL,因为它对我的应用来说太过分了。我可以以某种方式将传感器产生的值映射到移动图像吗?

0 个答案:

没有答案