Meine Frage ähnlich Koordinate zu Changing sensor coordinate system in androidAndroid Convert Gerät Koordinatensystem „user“ System
Ich mag miteinander unabhängig von Gerät Orientierung eines Benutzers Bewegungen vergleichen können. Wenn die Benutzer das Telefon im Hochformat halten und den Arm beugen, sind die Beschleunigungswerte die gleichen wie wenn er sein Handy im Querformat hält und dann seinen Arm in die gleiche Richtung beugt.
Das nenne ich das "Benutzer" -Koordinatensystem. Es unterscheidet sich vom Weltkoordinatensystem, da es keine Rolle spielt, welcher Windrichtung der Benutzer gegenübersteht. Es unterscheidet sich von den Gerätekoordinaten, da es keine Rolle spielt, wie der Benutzer sein Gerät hält.
Es ist in meiner Anwendung akzeptabel, vor jeder Bewegung einen Kalibrierungsschritt zu machen, damit die Basis-/Ruheorientierungsmatrizen bestimmt werden können. Geht es vielleicht nur darum, die Matrix der ersten Bewegung mit der Umkehrung der zweiten (und dann mit den neuen Werten) zu multiplizieren?
Die Antwort in der genannten Frage scheint richtig zu sein, aber ich brauche eine konkretere Erklärung , die tatsächlichen Codebeispiele wären ideal.
Hinweis remapCoordinateSystem wird nicht ausreichen, es akzeptiert nur rechte Winkel. Ich muss in der Lage sein, mit kleinen Abweichungen zu arbeiten, da das Gerät an einem Handgelenk befestigt ist, das nicht immer im rechten Winkel zum Arm steht.