Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 赛艇运动员划水速度感知算法_Ios_Iphone_Objective C_Core Motion - Fatal编程技术网

Ios 赛艇运动员划水速度感知算法

Ios 赛艇运动员划水速度感知算法,ios,iphone,objective-c,core-motion,Ios,Iphone,Objective C,Core Motion,我试图计算沿加速度计Y轴的力或加速度 这就是我的代码的样子 -(void)outputAccelertionData:(CMAcceleration)acceleration { self.accY.text = [NSString stringWithFormat:@" %.1fg",acceleration.y]; if(fabs(acceleration.y) < fabs(currentMaxAccelY)) { [self count]; } currentMa

我试图计算沿加速度计Y轴的力或加速度

这就是我的代码的样子

-(void)outputAccelertionData:(CMAcceleration)acceleration
{

self.accY.text = [NSString stringWithFormat:@" %.1fg",acceleration.y];
if(fabs(acceleration.y) < fabs(currentMaxAccelY))
{
        [self count];
}
currentMaxAccelY = acceleration.y;

}


- (void) count
{
    counter = counter + 1;
    self.countLabel.text = [NSString stringWithFormat:@"%d", counter];   
}
-(无效)OutputAccelerationData:(cAcceleration)加速度
{
self.accY.text=[NSString stringWithFormat:@“%.1fg”,acceleration.y];
if(fabs(加速度y)
这目前不起作用,它只是不断地开始向上计数。我想实现的是这个

达到新的当前最大加速度(因此有效地高于先前的总加速度。随着加速度减慢,我将当前最大值更新为新的低变量,然后等待触发,但值更高)


目前我的代码不起作用。任何修复它的帮助,甚至改进算法都会非常有帮助……这是我第一次尝试这些方法,所以任何帮助或建议都会非常好。

我建议看看如何通过低通过滤器运行数据。你可以在苹果的加速度计中看到一个例子RGRAPHE示例代码。我认为这会让你更接近你所需要的。我最近在一个摄像头应用程序中实现了类似的功能,用于检测手持设备的运动,效果不错。很多都取决于你的阈值以及它们需要有多敏感


好的,我想如果我的陈述现在正确,当加速度超过currentMaxAccelY时,我会用新的低值更新currentMaxAccelY,然后我添加到计数器中…但是它会导致敏感atm并不断计数..我想知道如何防止它变得如此敏感,以便更好地计算笔划。你试过放置在你的加速度的最小值?所以你只注意加速度,如果它高于某个阈值?不,我没有尝试过,但这是一个非常好的主意…我现在将研究它。我刚刚浏览了示例代码,不幸的是,这些框架中的大多数已经被去润滑并替换为核心运动,但是我仍然有一个广告和一个游戏回合,并设法得到了一个真正的基本计数器工作,并与图形和输出有一些乐趣,所以总的来说,我仍然学到了一点。我认为过滤将是这个笔划率计算器最困难的部分。毫无疑问。你可以使用CoreMotion数据作为输入为你的过滤器。鉴于划船的性质,你是p很有可能在拉动时看到一个较低阈值上的相对持续值,在重置时看到一个类似的负值。