作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想获得设备旋转,我已经以某种方式实现了,但是代码无法正常工作,哪个设备没有 Magentic 传感器、方向传感器和陀螺仪传感器。但我看到一些应用程序的工作方式类似于 XClinometer和 iHandy 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/
我正在尝试弄清楚如何生成每秒点击次数的运行计算(例如,我点击了一个带有窗口的应用程序,它为我提供了一个类似于速度计的点击“速度”值,即每次点击次数第二)。出于某种原因,该算法正在躲避我。 如果我每一秒
我是一名优秀的程序员,十分优秀!