Almacenar la orientación a una matriz y comparar

Quiero lograr lo siguiente:

Quiero que el usuario pueda "grabar" el movimiento del iPhone usando el giroscopio. Y después de eso, el usuario debería poder replicar el mismo movimiento. Extraigo el cabeceo, balanceo y guiñada usando:

 [self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue]
                                       withHandler: ^(CMDeviceMotion *motion, NSError *error)
     {
         CMAttitude *attitude = motion.attitude;
         NSLog(@"pitch: %f, roll: %f, yaw: %f]", attitude.pitch, attitude.roll, attitude.yaw);
     }];

Estoy pensando que podría almacenar estos valores en una matriz, si el usuario está en modo de grabación. Y cuando el usuario intenta replicar ese movimiento, puedo comparar la matriz de movimiento replicada con la registrada. La ​​cuestión es, ¿cómo puedo comparar las dos matrices de una manera inteligente? Nunca tendrán exactamente los mismos valores, pero pueden ser algo iguales.

¿Estoy en el camino correcto? aquí?

ACTUALIZACIÓN: Creo que tal vez la respuesta de Ali sobre el uso de DTW podría ser la forma correcta para mí aquí. Pero no soy tan inteligente (aparentemente), así que si alguien pudiera ayudarme con los primeros pasos en la comparación con matrices, sería un hombre feliz.

¡Gracias!

22
задан Ali 28 June 2011 в 17:19
поделиться