Я хочу добиться следующего:
Я хочу, чтобы пользователь мог «записывать» движение iPhone с помощью гироскопа. И после этого пользователь должен иметь возможность воспроизвести одно и то же движение. Я извлекаю шаг, крен и рыскание, используя:
[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);
}];
Я думаю, что я мог бы сохранить эти значения в массив, если пользователь находится в режиме записи. И когда пользователь пытается воспроизвести это движение, я могу сравнить скопированный массив движений с записанным. Дело в том, как разумно сравнить два массива? Они никогда не будут иметь в точности одинаковые значения, но могут быть в чем-то одинаковыми.
Я вообще на правильном пути здесь?
ОБНОВЛЕНИЕ: я думаю, что, возможно, ответ Элис об использовании DTW может быть правильным для меня здесь. Но я не настолько умен (видимо), поэтому, если бы кто-нибудь мог помочь мне с первыми шагами по сравнению с массивами, я был бы счастлив!
Спасибо!