使用android加速度计数据动画对象

时间:2015-12-24 10:06:53

标签: javascript android jquery python css

我正在使用Android应用程序将加速度计数据传输到我的PC上的python脚本,然后将其写入文本文件。然后我尝试使用Javascript和jQuery动画3d CSS长方体(以设备的形状)来模仿设备在流式传输数据时的移动方式。

enter image description here

首先,我尝试使用陀螺仪数据,以弧度/秒输出。我通过将值乘以57(一个以弧度表示的弧度)左右将其转换为度/秒,但是当我尝试使用rotateX: 100deg时,这会导致使用这些值进行动画处理时出现不稳定的行为。

我想知道如何使用从我的Android设备的加速度计收集的数据为3d CSS对象设置动画,或者这是否可行?

2 个答案:

答案 0 :(得分:3)

考虑使用WebGL,您会在其API中找到所需的大部分内容(用于3D转换和在浏览器中呈现手机对象)。
另外,正如user1561358建议削减中间人,当你可以从js打开websocket到你的Android应用程序时,为什么你使用python脚本来中继数据。这也可以避免您不断轮询文件。

  

我想对我的问题做一个完整的解释。

  1. Android应用程序在启动时创建一个套接字,通知用户其ip和端口。
  2. webgl app要求提供ip:端口信息,提交后打开websocket。
  3. 如果握手成功,则要求用户稳定手机并同步两端(按一个按钮,这样手机就会通知WebGL它是完全水平的。)
  4. 从同步开始,手机将通过套接字将3轴的任何更改中继到WebGL应用程序。
  5. WebGL根据收到的电话方向变化转换手机对象。

答案 1 :(得分:2)

很少有事情可以想到。

  1. 通过Python函数math.degrees(x)

  2. 将弧度转换为度数
  3. 您是如何设置参考框架的?设备旋转的事实本身是不够的。你还需要知道它正在转向什么。

  4. 切断中间人。您使用的语言和转换越多,问题就越复杂。忽略一些事情要容易得多。考虑用一种语言编写应用程序并跳过文本文件。

  5. 编辑:这可能会更好,因为它不是一个明确的答案。不幸的是,我缺乏必要的特权。