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

我们能在android画布上,在陀螺仪给出的两点之间画一条线吗?

我们能在android画布上,在陀螺仪给出的两点之间画一条线吗?,android,android-canvas,accelerometer,gyroscope,Android,Android Canvas,Accelerometer,Gyroscope,在安卓系统中,是否可以通过摄像头从a点(用户首先触摸的地方)和B点(用户第二次触摸的地方)划一条线 用户可以触摸第一个点并向其他方向旋转相机以点击第二个点 我正在使用陀螺仪,加速计和磁强计(传感器融合),我在触摸时获得x、y、z坐标 但是我们可以在用户触摸过的画布上绘制3D图像吗。类似于MagicPlanapp所做的事情 谢谢@chipopo,但真正的问题是,是否有可能在陀螺仪传感器给出的两点之间画一条线> 简单回答,不是。陀螺仪是速率传感器,不是位置传感器。你需要做数学才能得到分数 既然你的手

在安卓系统中,是否可以通过摄像头从a点(用户首先触摸的地方)和B点(用户第二次触摸的地方)划一条线

用户可以触摸第一个点并向其他方向旋转相机以点击第二个点

我正在使用
陀螺仪
加速计
磁强计
(传感器融合),我在触摸时获得x、y、z坐标

但是我们可以在用户触摸过的画布上绘制3D图像吗。类似于
MagicPlan
app所做的事情


谢谢@chipopo,但真正的问题是,是否有可能在陀螺仪传感器给出的两点之间画一条线>

简单回答,不是。陀螺仪是速率传感器,不是位置传感器。你需要做数学才能得到分数

既然你的手机是安卓的,我建议你 一旦你有了这个,你需要决定一个最适合你的用例的半径,并建立一个参考方向。一旦你掌握了两个方向,你就可以决定怎么做

我过去使用的一种方法是在Y上绘制三角螺距,在X上绘制三角航向,然而,你可能需要考虑在你的应用程序尝试执行的上下文中,滚动对你意味着什么


您可能应该使用openGL,但您可能需要某种图形库。

我建议您使用openGL绘制3D图形。谢谢@chipopo,但真正的问题是,是否有可能在陀螺仪传感器给出的两点之间画一条线。这正是我需要的,就像MagicPlan应用程序一样。但对于iOS来说是如此如果您可以使用陀螺仪记录旋转速率,并且知道经过的时间,那么您应该能够计算发生的旋转总量,并确定两点之间的距离。即,平均转速为90度/秒*1500毫秒=135度旋转。这有帮助吗?不用于平移-您必须对(加速度计-估计的重力矢量)进行双重积分才能获得位置。该数据在高频下运行准确,但在低频下对零跟踪效果不佳,这意味着积分通常会引入漂移。由于你集成了两次,你得到了漂移的平方。更正:我忘了在安卓手机的背景下,相机指出你可能最感兴趣的是滚动(用户转向垂直身体)和俯仰(用户向上或向下倾斜)。在这种情况下,航向将是你需要小心处理的角度,因为它可能没有意义,或者不取决于你试图做什么