2012-03-31 15 views

Antwort

1

Ich denke, X sollte 0 sein und y sollte positiv sein, während z nahe 0 ist, damit der Kompass in Richtung Erde zeigt. (was bedeutet, dass das Telefon vertikal gehalten wird).

Im Allgemeinen vom 0 Winkel sollte der Kompass Winkel etwas wie

float accelerometerMaxRange = 10; // This is NOT right, but it's a good value to work with 
float newAngle = 0; 
if (z > 9) { 
    // Phone is horizontally flat, can't point towards gravity, really. Do whatever you think is right 
} else { 
    newAngle = (float)(x * 90/accelerometerMaxRange); 
    if (y < 0) { 
     newAngle = 180 - newAngle; 
    } 
} 
+0

werden, um die Top-Frage ist, wie groß ist die 'accelerometerMaxRange';) –