L3M*_*M0L 1 android quaternions android-sensors
快速简单。如何从传感器获取四元数数据?基本上我需要:
float quaternion_x = ?
float quaternion_y = ?
float quaternion_z = ?
float quaternion_w = ?
Run Code Online (Sandbox Code Playgroud)
我有这样的事情:
if (event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR)
{
float[] values = event.values;
float quaternion_x = values[0];
float quaternion_y = values[1];
float quaternion_z = values[2];
float quaternion_w = values[3]; <----- ERROR HERE
}
Run Code Online (Sandbox Code Playgroud)
我得到一个超出范围的异常的索引,因为值内部只有3个值。根据此页面:http : //developer.android.com/guide/topics/sensors/sensors_motion.html 应该有4个值,还是我理解错了?
该SensorManager班提供了一个辅助函数来为你转换:
SensorManager.getQuaternionFromVector(Q, values);
float[] quaternion_w = Q[0];
float[] quaternion_x = Q[1];
float[] quaternion_y = Q[2];
float[] quaternion_z = Q[3];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2747 次 |
| 最近记录: |