Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-如何计算与起始位置相关的倾斜度_Android_Android Sensors_Device Orientation - Fatal编程技术网

Android-如何计算与起始位置相关的倾斜度

Android-如何计算与起始位置相关的倾斜度,android,android-sensors,device-orientation,Android,Android Sensors,Device Orientation,我使用sensorManager计算设备的倾斜度 SensorManager.getRotationMatrix(Rmat, Imat, gData, mData); SensorManager.getOrientation(Rmat, orientation) float incl = SensorManager.getInclination(Imat); incl = (float) Math.toDegrees(incl); 当设备垂直于地面时,显示0度;当设备平坦(平行于地面)时,显示

我使用sensorManager计算设备的倾斜度

SensorManager.getRotationMatrix(Rmat, Imat, gData, mData);
SensorManager.getOrientation(Rmat, orientation)
float incl = SensorManager.getInclination(Imat);
incl = (float) Math.toDegrees(incl);
当设备垂直于地面时,显示0度;当设备平坦(平行于地面)时,显示90度

我的问题是如何校准倾斜传感器以计算与设备起始位置相关的度数


例如,如果设备是平的,用户按下“校准”,倾斜值将变为零度,当设备向上移动到垂直位置时,倾斜值将变为90度。

“如果设备是平的,用户按下“校准”,倾斜值将变为零度”您将只使用测得的倾角作为偏移量。如果它是90度,你将使用它作为一个修正值,并计算90-90得到零。还有什么呢?校准后,将手机移动到“实际”倾斜度80,然后再次扣除90,得到-10,依此类推,直到完成新的校准。是的,这是正确的。非常感谢。但问题出在别处。给出的倾角是地磁倾角,与实际装置的角度无关。但是,您已经回答了我的问题,如果您将其作为答案添加,我将接受。我不认为我完全理解这个问题,并且评论相当琐碎,因此我不会添加答案。如果您提出了问题的解决方案,您也可以自己添加答案。没关系。