gpt4 book ai didi

android - 如何获取设备中只有加速度计传感器的RotationMatrix

转载 作者:太空狗 更新时间:2023-10-29 14:25:46 28 4
gpt4 key购买 nike

我想获得设备旋转,我已经以某种方式实现了,但是代码无法正常工作,哪个设备没有 Magentic 传感器、方向传感器和陀螺仪传感器。但我看到一些应用程序的工作方式类似于 XClinometeriHandy level free在设备上。让设备 htc Explorer 不提供值(value),因为这些传感器不存在。请告诉我如何完成此任务。我使用了这段代码,但由于传感器不可用,所以没有获得任何值,所以也没有旋转矩阵。

  @Override
public void onSensorChanged(SensorEvent event) {

switch (event.sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
// copy new accelerometer data into accel array and calculate
// orientation
System.arraycopy(event.values, 0, accel, 0, 3);
calculateAccMagOrientation();
break;

case Sensor.TYPE_GYROSCOPE:
// process gyro data
gyroFunction(event);
break;

case Sensor.TYPE_MAGNETIC_FIELD:
// copy new magnetometer data into magnet array
System.arraycopy(event.values, 0, magnet, 0, 3);
break;

}

方法是

public void calculateAccMagOrientation() {

if (SensorManager.getRotationMatrix(rotationMatrix, null, accel,
magnet)) {
SensorManager.remapCoordinateSystem(rotationMatrix, SensorManager.AXIS_X,
SensorManager.AXIS_Y, mValuesOrientation);
SensorManager.getOrientation(rotationMatrix, mValuesOrientation);

}else{
//float[] array = new float[9];
if(magnet[0]<=0){
System.out.println("herr.....");
System.out.println();
}else{
System.out.println("null so herr.....");
}
/*on htc device it is coming here so i need code here to get angle as only received accelerometer sensor data.
*/
}
}

最佳答案

您链接到的示例只需要倾斜角度,不需要旋转矩阵。有加速度计来获取倾斜角度就足够了。

旋转矩阵包含的信息比倾斜角更多,它也需要陀螺仪。

关于android - 如何获取设备中只有加速度计传感器的RotationMatrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12798273/

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