En iyi pitch ve roll değerlerini almak istiyorum. Azimut değerini almak için bu kodu zaten kullanıyorum.Dengeli perde ve rulo değerleri alın
Adım ve rulo değerleri iyi görünmüyor.
@Override
public void onSensorChanged(SensorEvent event) {
switch (event.sensor.getType()) {
case Sensor.TYPE_ROTATION_VECTOR:
// calculate th rotation matrix
SensorManager.getRotationMatrixFromVector(rMat, event.values);
float[] data = SensorManager.getOrientation(rMat, orientation);
Log.i(TAG, "NEW pitch?="+data[1]+" roll="+data[2]);
// do something with data
break;
}
ben 3d nesneleri telefon konumuna bağlı olarak hareket etmek (Jmonkey motoru ile) artırılmış gerçeklik ortamında bu kodu kullanıyorum
:
public void updateRotationFused(float pitch, float roll) {
//pitch: cams x axis roll: cams y axisheading: cams z axis
mRotXYZQ.fromAngles(pitch + FastMath.HALF_PI , roll - FastMath.HALF_PI, 0);
mCurrentCamRotationFused = mInitialCamRotation.mult(mRotXYZQ);
}
gözden kaçırdığım bir şey var mı? Uygulamada zaten kullanılmakta olan
DÜZENLEME
Kod O inşaat ama Sensor.TYPE_ROTATION_VECTOR
daha iyi bir yolu olduğunu düşünüyorum bu link
değil.
Değerler nasıl iyi değil? Onlar gürültülü mü? – reden
Evet, gürültülüler. –