2012-01-05 5 views
1

リンゴの開発者向けドキュメントはこのイメージで扱う動きを説明していますiOSの加速度計はどの動きを管理していますか?

Developer documentation

私は私が加速度センサーを軸に変換を処理しないことを得るいくつかのテストをやっているので...今はかなり混乱しているが、回転の小さなセット...例で私はX axで何も起こらない私のデバイスを移動する場合..私はそれをZで回転する場合、私はXに加速を得る。ここで

私は私のテストに使用するコード:

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{ 

    [self.sliderX setProgress:fabsf(acceleration.x)]; 
    [self.sliderY setProgress:fabsf(acceleration.y)]; 
    [self.sliderZ setProgress:fabsf(acceleration.z)]; 
} 

編集------私が前に言ったように、単一斧で回転に配線されて理解できない 行動。 .. Z軸を30°回転させると連続的な加速が得られます... X軸を平行移動しながら、短くて速い動きだけを加速します。

答えて

2

加速度計は、重力による加速度の影響を最も強く受けます。それは実際に自由落下とそれが実際に行っていることとの違いを返しています。

テーブル上にiPhoneが平らになっていたら、zに沿って加速する必要があります。長い方の辺の1つでバランスをとった場合、xに沿って加速する必要があります。あなたのiPhoneが地面に落ちていたら、(0、0、0)の加速度ベクトルが必要です。

iPhoneを動かすと、そのようなスライドが効きますが、重力に比べて小さくなるので、見逃しやすいでしょう。

zを回転すると、デバイスとの相対的な重力方向が変更されたため、永続的な変化が生じます。 xでの翻訳は、一時的にデバイスを加速してから加速を停止するため、一時的な変化をもたらします。