Mi pregunta es similar a Changing sensor coordinate system in androiddispositivo Android Convertir sistema de "usuario" sistema de coordenadas
Quiero ser capaz de comparar los movimientos de un usuario entre sí independientemente de la orientación del dispositivo de coordenadas. De modo que cuando los usuarios sostienen el teléfono en orientación vertical y doblan el brazo, las lecturas de aceleración son las mismas que cuando sostiene su teléfono en el paisaje y luego dobla el brazo en la misma dirección.
Esto es lo que yo llamo el sistema de coordenadas "usuario". Es diferente del sistema de coordenadas del mundo, ya que no debería importar la dirección del viento que el usuario esté enfrentando. Es diferente de las coordenadas del dispositivo, ya que no debería importar cómo el usuario sostiene su dispositivo.
En mi aplicación, es aceptable realizar un paso de calibración antes de cada movimiento para poder determinar las matrices de orientación base/reposo. ¿Es quizás solo una cuestión de multiplicar la matriz del primer movimiento con el inverso del segundo (y luego con los nuevos valores?)
La respuesta en la pregunta mencionada parece correcta, pero necesito una explicación más concreta , las muestras del código real serían ideales.
Nota remapCoordinateSystem no será suficiente, solo acepta ángulos rectos. Necesito poder trabajar con pequeñas desviaciones ya que el dispositivo está atado a la muñeca, lo que puede no estar siempre en ángulo recto con el brazo.