android - 我们可以在陀螺仪给出的两点之间在android Canvas 上画线吗?

标签 android android-canvas accelerometer gyroscope

是否可以通过相机在android中从点A(用户首先触摸的地方)和点B(用户第二次触摸的地方)画一条线。

用户可以触摸第一个点并在另一个方向旋转他的相机来点击第二个点。

我正在使用 gyroscopeaccelerometermagnetometer(Sensor Fusion),我在触摸时获得 x、y、z 坐标。

但是我们可以在 Canvas 上用户触摸的任何地方绘制 3D 图像吗?类似于 MagicPlan 应用正在做的事情。

最佳答案

Thanks @chipopo but the real concern is, is it possible to actually draw a line >between two points given by gyroscope sensor.

简短的回答,不。陀螺仪是速率传感器,而不是位置传感器。你需要做数学才能获得积分。

由于您使用的是 Android,我会推荐 Orientation 一旦你有了这个,你需要决定一个最适合你的用例的半径,并建立一个引用方向。一旦你捕获了两个方向,如何 map shperical points to a 2d canvas 由你决定.

我过去使用的一种方法是在 Y 上绘制 delta pitch 和在 X 上绘制 delta 航向,但是您可能需要考虑在您的应用尝试执行的上下文中滚动对您意味着什么。

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

关于android - 我们可以在陀螺仪给出的两点之间在android Canvas 上画线吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28580894/

相关文章:

java - 在新 Activity 中查看和下载壁纸时遇到问题

android - 如何使用 SET_DEBUG_APP 权限

android - 如何设置渐变样式来绘制对象?

android - 带有振动的不良加速度计数据

屏幕关闭时Android加速度计不起作用

android - 如何在没有任何用户交互的情况下返回到之前的 Activity

android - 如何从内部存储中选择图像并将其插入到 SQLite 中?

java - 如何在 Canvas 上绘制全部大写的文本

android - 是在 onActivityCreated() 之前还是之后调用 onDraw()?

android - Vuforia 无标记设备跟踪在 Android 中不起作用