Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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_Android Orientation - Fatal编程技术网

当设备静止时,Android设备在垂直轴上的角度

当设备静止时,Android设备在垂直轴上的角度,android,android-sensors,android-orientation,Android,Android Sensors,Android Orientation,我正在开发我的第一个应用程序,对于一些计算,我需要一个垂直轴的角度。基本上,我正在尝试制作一个简单的测量工具,它可以在点击按钮时进行计算。 我有高度(H),其中是设备,我需要设备垂直轴的角度。有了这些值,我就能计算sin等等 我试图使用此链接()中的代码获取值,但它崩溃了,而且我认为这不是我想要的值,因为设备保持静止 I说明我的意思(我有“H”值,我正在搜索角度“a”或我可以从中提取的数据): 任何有用的链接、教程或示例都会非常有用。我假设Android设备将沿着您绘制的三角形的斜边放置,因此

我正在开发我的第一个应用程序,对于一些计算,我需要一个垂直轴的角度。基本上,我正在尝试制作一个简单的测量工具,它可以在点击按钮时进行计算。 我有高度(H),其中是设备,我需要设备垂直轴的角度。有了这些值,我就能计算sin等等

我试图使用此链接()中的代码获取值,但它崩溃了,而且我认为这不是我想要的值,因为设备保持静止

I说明我的意思(我有“H”值,我正在搜索角度“a”或我可以从中提取的数据):


任何有用的链接、教程或示例都会非常有用。

我假设Android设备将沿着您绘制的三角形的斜边放置,因此如果设备平放在桌子上,则角度“a”为90度,如果设备直立,则角度“a”为零。如果是这样,那么角度“a”与设备的节距有关,这正是使用getRotationMatrix()和getOrientation()可以获得的。然而,当设备平放在桌子上时,螺距通常定义为零,当设备直立时,螺距定义为90度,因此角度“a”等于(90度-螺距)。注意单位,有时角度是弧度,有时是度

如果您的代码正在崩溃,那么您一定是在某个地方意外引入了一个bug,因为我肯定有一些代码使用getRotationMatrix()和getOrientation()而不会崩溃

您会发现,当设备接近垂直位置时,getOrientation()生成的某些方向值变得不稳定。这是一个众所周知的问题,因为当设备是真实的,方位角和滚动是同一件事。然而,音高应保持可靠

如果在设备垂直时需要可靠的方位角和俯仰角,那么您可以查看一下。这个答案的代码确实有效,如果你不能让getRotationMatrix()和getOrientation()工作,那么从中产生的音高对你来说会很好