2011-01-08 16 views
0

私は、加速度計の値を利用するAndroidプロジェクトで作業しています。Android:携帯電話の座標からワールド座標系への加速度計出力の変換

しかし、加速度計の出力は、電話機の座標系で定義されています。しかし、私はそれらが世界の座標系にあることが必要です

世界の座標の点でacceleometerの出力値を変換する方法を知っていますか?

よろしく、

Moustafa

答えて

0

あなたはX、Yを意味する場合は、zのあなただけ-1することによって、それらを掛けることができませんでした、座標? これは私が最初に加速度計をいじり始めたときに私が作ったものである。

​​

輸入android.app.Activity。 インポートandroid.hardware.Sensor; import android.hardware.SensorEvent; インポートandroid.hardware.SensorEventListener; インポートandroid.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView;それは、ここで言う値として

はpublicクラス加速度センサーは、アクティビティの{

SensorManager sensorManager; 
Sensor accelerometer; 
TextView textView; 
private SensorEventListener sensorEventListener = new SensorEventListener() { 

    public void onAccuracyChanged(Sensor sensor, int accuracy) { 

    } 

    public void onSensorChanged(SensorEvent event) { 

     float x = event.values[0]; 
     float y = event.values[1]; 
     float z = event.values[2]; 
     update(x, y, z); 
    } 
}; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    textView = new TextView(this); 
    setContentView(textView); 
    sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 
    accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
} 

public void update(float x, float y, float z) { 

    textView.setText("x: " + x + " y: " + y + " z: " + z); 
} 

protected void onResume() { 
    super.onResume(); 
    sensorManager.registerListener(sensorEventListener, accelerometer, SensorManager.SENSOR_DELAY_NORMAL); 
} 

protected void onPause() { 
    super.onPause(); 
    sensorManager.unregisterListener(sensorEventListener); 
} 

}

+0

新しいシステムに携帯電話の座標を適用いいえ、私は私が世界の座標X、Y、Zに加速を翻訳したいということを意味するということです、その結果、重力のすべての効果は、電話のオリジンとは関係なく常にZ軸になります –

0

http://developer.android.com/reference/android/hardware/SensorEvent.html#valuesを拡張 - 加速度、ない座標の配列を...

は、あなたが今、私をcantactでした、I携帯電話のcoordsinates(グローバルではなくローカルのもの)を手に入れようとしています。

アイデアは、あなたが(ちょっとキャリブレーション)の設定の電話の世界COORDSを取得し、

関連する問題