简体   繁体   中英

Get min and max values for getOrientation on accelerometer?

I am currently working with the accelerometer on Android, and have run into an interesting situation. I need to find out the maximum values for the following, WITHOUT requiring the end user to flop their phone around in some elaborate calibration routine. The values I am looking for specifically are...

@Override
public void onSensorChanged(SensorEvent event) {

    SensorManager.getOrientation(outR, xyz);

    float X, Y, XMax, YMax;

    X = xyz[1];
    Y = xyz[2];

    XMax = ???;
    YMax = ???;
}

I've poked around online, but have not had much luck determining what the values would be (it appears it changes from phone to phone), nor seen anyone mention a way to pull that value from somewhere.

Does anyone know how I might determine the maximum/minimum values of xyz[1] and xyz[2]?

UPDATE: An Example of what I mean is the following:

When I report directly the outputed float from xyz[1], and then move my phone forward and backward all the way, I get the following results:

min value it reports: -1.50 (give or take a 10ths) max value it reports: 1.50 (give or take a 10ths)

when I roll my phone left and right, I get the following for xyz[2]:

min value it reports: -3.14 (give or take a 10ths) max value it reports: 3.14 (give or take a 10ths)

I was told this changes between phones, however this could be wrote.

I don't know what max/min values you're talking about but getOrientation will populate a vector with the following data:

xyz[0]: azimuth [-π,π]
xyz[1]: pitch [-π/2,π/2]
xyz[2]: roll [-π,π]

From docs :

All three angles above are in radians and positive in the counter-clockwise direction.

Refer also to the SensorManager.java:1094 class:

https://android.googlesource.com/platform/frameworks/base/+/b267554/core/java/android/hardware/SensorManager.java

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM