2015-12-24 5 views
12

私は、Androidアプリケーションを使用して自分のPC上のPythonスクリプトに加速度計データをストリーミングしてから、テキストファイルに書き込みます。私はその後、データをストリーミングするときにデバイスがどのように動いたかを模倣するために、(デバイスの形の)3d CSS直方体をアニメーション化するためにJavascriptとjQueryを使用しようとしています。まずアンドロイド加速度計データを使用してオブジェクトをアニメ化する

enter image description here

Iは、ラジアン/秒で出力されるジャイロスコープ・データを使用してこれを試みました。私はこれを度に換算すると57(1ラジアンで1ラジアン)を乗算しますが、例えばrotateX: 100degにしようとすると、これらの値を使ってアニメーション化すると不安定な動作になります。

私はアンドロイドデバイスの加速度計から収集したデータを使用して3d CSSオブジェクトをアニメーション化する方法、またはこれがまったく可能かどうかを知りたいですか?

+0

ジャイロスコープから収集したデータを投稿できますか? – vals

+0

あなたの現在のアニメーションコードの一部を投稿し、他に何を試してみてください。 –

答えて

3

WebGLを使用することを検討すると、API(ブラウザでの電話オブジェクトの3D変換とレンダリング用)に必要なものがたくさんあります。
さらに、user1561358は中間の人をカットするように提案していますが、jsからAndroidアプリまでwebsocketを開くことができるときに、なぜpythonスクリプトを使用してデータを中継していますか?これにより、ファイルを常にポーリングする手間を省くことができます。

私は私の問題を完全に説明したいと思います。

  1. Androidアプリケーションは、launchtimeのソケットを作成し、そのIPアドレスとポートの使用者に知らせます。
  2. webgl appはip:port情報を要求し、送信時にwebsocketを開きます。
  3. 電話が安定して両端を同期するようにユーザに要求します(電話機がWebGLに完全に水平であることを通知するボタンを押します)。
  4. 同期がオンの場合、電話機は3ソケットを介してWebGLアプリケーションに接続します。
  5. WebGLは、受信した電話機の向きの変更に従って電話オブジェクトを変換します。
2

ほとんど何も気になりません。

  1. を使用すると、参照フレームを設定しましたかmath.degrees(x)

  2. Python関数でラジアンを度に変換しますか?デバイスが回転するという事実だけでは十分ではありません。あなたはまた、何が変わっているのかを知る必要があります。

  3. 中間の男をカットします。より多くの言語とコンバージョンを使用するほど、問題は複雑になります。物事を見落とすのははるかに簡単です。 1つの言語でアプリケーションを作成し、テキストファイルをスキップすることを検討してください。

EDIT:これは明確な答えではないため、コメントとしての方がいいでしょう。残念ながら私は必要な特権が不足しています。

関連する問題