Sensor Manager を使用して mobilePhone の向き (Roll、Pitch、Yaw) の角度を取得しようとしています。Android 開発者の Web サイトに書かれている方法によると、
getInclination(float[] I) getRotationMatrix(float[], float[], float[], float[]).` と getRotationMatrix(float[] R, float[] I、float[] 重力、float[] 地磁気)
傾斜行列 I と回転行列 R を計算し、ベクトルをデバイス座標系から > 直接正規直交基底として定義されるワールド座標系に変換します。` ブール値を返します。
私の質問は、言及された方法を使用して向きを取得する方法ですか?
コード
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float []I = new float[9];
float []R = new float[9];
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
tvX.setText(Float.toString(x));
tvY.setText(Float.toString(y));
//tvZ.setText(Float.toString(sm.getInclination(I)));
}
}