Android-如何计算与起始位置相关的倾斜度
我使用sensorManager计算设备的倾斜度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.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,依此类推,直到完成新的校准。是的,这是正确的。非常感谢。但问题出在别处。给出的倾角是地磁倾角,与实际装置的角度无关。但是,您已经回答了我的问题,如果您将其作为答案添加,我将接受。我不认为我完全理解这个问题,并且评论相当琐碎,因此我不会添加答案。如果您提出了问题的解决方案,您也可以自己添加答案。没关系。