iPhone 4から取得したジャイロスコープ/加速度計の値を操作するために、大学向けのプロジェクトを開発しています。しかし、数学の問題で立ち往生しています。
私はあなたに何についての例をあげます:
- iPhone を上向きにして、Y 軸上で上に動かします。
- iPhone は右向きで、今度は X 軸上で上に移動します (iPhone を 90 度回転させたため)。
2 回目は、コンピュータは iPhone を右に動かしたと解釈しますが、それは誤りです。上に移動しましたが、iPhone が右を向いていたため、軸が回転していました。
私が必要なものは何?iPhoneを上向きに仮想的に配置し(3軸が正しい場合)、各軸に正しい移動値を与える方法が必要です。
iPhone が 90 度回転している場合、XZ 軸とその正しい方向を簡単に切り替えることができます。しかし、私はそれをあらゆる回転角度で機能させたいと思っています。
何をすべきかについてのある種の疑似アルゴリズムまたは数学的な説明を手伝ってくれる人がいれば、本当に感謝しています。
注: iPhone の回転に合わせて 3 つの軸すべてを補正する方法だけが必要です。
アップデート:
ジャイロスコープから取得したすべてのレコード間でグラフの比較を行っているため、実際には正確な値は必要ありません。はっきりさせておきます。
-> iPhone を空中で動かすだけで文字を描くと、私のアプリケーションはあなたが描いた文字を認識します。私が認識に使用する方法は、TFT アルゴリズムに基づいており、以前に描いた文字に由来するサンプル値をデータベースに記録します。
私のポイントは、私が取得した値や、それらが何を表しているかは問題ではありません。必要なのは、iPhone の位置が異なっていても、すべてのグラフが等しいことだけです。説明が難しいのですが、iPhone を上にして「P」を描くと、iPhone を右にして「P」を描くと、元のグラフが異なります。
そのため、軸を元の向きに補正する必要があります。そうすれば、常に同様のグラフが得られます。