【发布时间】:2011-09-16 03:39:20
【问题描述】:
我想实现以下目标:
我希望用户能够使用陀螺仪“记录”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);
}];
我想如果用户处于记录模式,我可以将这些值存储到一个数组中。当用户尝试复制该运动时,我可以将复制的运动数组与记录的运动数组进行比较。 问题是,我怎样才能巧妙地比较两个数组?它们永远不会有完全相同的值,但它们可以有些相同。
我是不是走在正确的轨道上?
更新:我认为 Alis 关于使用 DTW 的回答可能对我来说是正确的方法。但我不是那么聪明(显然),所以如果有人可以帮助我完成与数组比较的第一步,我会是一个快乐的人!
谢谢!
【问题讨论】:
-
您想比较方向(旋转)、加速度(~= 运动)还是两者都比较?相对于地面的方向重要吗?
-
谢谢阿里,我明天去试试。然后我会告诉你进展如何:)
-
@tc:只是运动。它不必与地面相关。
-
那么方向还是加速?或两者?还是别的什么?
-
@zebulon 很高兴您发现我的回答很有用,感谢您的赏金。请让我知道 DWT 是如何为您服务的。
标签: iphone android math artificial-intelligence gesture-recognition