iPhoneを動かすことで、iPhone画面(四角形、円など)上のオブジェクトを移動したいと考えています。 たとえば、iPhoneをX軸に沿って移動させ、オブジェクトをX軸に沿って移動させます。 Y、Z軸も同じです。アクセラレータによる距離移動
どうすればいいですか? アルゴリズムを取得できますか?
ありがとうございます。
P.S: 私はしばらくの間見ましたが、加速度計を使用することが可能なようです。
iPhoneを動かすことで、iPhone画面(四角形、円など)上のオブジェクトを移動したいと考えています。 たとえば、iPhoneをX軸に沿って移動させ、オブジェクトをX軸に沿って移動させます。 Y、Z軸も同じです。アクセラレータによる距離移動
どうすればいいですか? アルゴリズムを取得できますか?
ありがとうございます。
P.S: 私はしばらくの間見ましたが、加速度計を使用することが可能なようです。
あなたはエラーが恐ろしいです倍直線加速度を統合することで位置を取得しますが。実際には役に立たない。
ここには23:20にan explanation why (Google Tech Talk)があります。私はこのビデオを強く勧めます。
ただし、ジャイロマウスがアプリケーションで動作する可能性があります(動画の37:00〜38:25を参照)。
同様の質問:あなたは代わりに距離を移動し、加速自体を使用していないのはなぜ
track small movements of iphone with no GPS
What is the real world accuracy of phone accelerometers when used for positioning?
how to calculate phone's movement in the vertical direction from rest?
iOS: Movement Precision in 3D Space
How to use Accelerometer to measure distance for Android Application Development
How can I find distance traveled with a gyroscope and accelerometer?
正確に行うのは簡単ではありません。加速度計はアクセラレーションのみを報告します。加速度を時間の経過とともに(数値的に)積分してみることもできますが、累積的な誤差が加わり、意図しない動きにつながる可能性が高くなります。明らかにテストされていない
擬似コード、:
init:
loc = {0, 0, 0} ; location of object on screen
vel = {0, 0, 0} ; velocity of object on screen
t = 0 ; last time measured
step:
t0 = time ; get amount of time since last measurement
dt = t0 - t
accel = readAccelerometer()
vel += accel * dt ; update velocity
loc += vel * dt ; update position
displayObjectAt(loc)
?例えば; アクセラレーションが1.4G eastの場合、アクセラレーションが変更されるまでオブジェクトは1秒あたり東14ピクセルに移動する必要があります。
そのオブジェクトの動きは、それが相対的な力の下にあるようになり、より現実的だと思います。より速く動く装置、より大きな力で物体に作用する。
も見て:
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf
と
Using accelerometer, gyroscope and compass to calculate device's movement in 3D world
あなたは運動を行います場合は、左の例のために、あなたはこのような出力を取得します:あなたが移動を停止しますときに負になる力を得ますので -1g 0グラム 0グラム 0グラム 1グラム を初期の力は動きを作り出しました。 何とかそれをフィルタリングする必要があり、それは簡単ではありません。 –
だからあなたはiPhone上で行うには実用的なものではないと言っていますか? – MeIr
正しい。アリの反応の中のリンクは、これがおそらく役に立たないことを示している。 – duskwuff