2012-09-12 72 views
1

我已经使用此代码来获得重力值。但问题是,当我将iPhone保持在桌面上时,它仍显示0.99的价值。可以有人告诉我原因吗?代码是重力计算

sx = acceleration.x * kFilteringFactor + sx * (1.0 - kFilteringFactor); 
sy = acceleration.y * kFilteringFactor + sy * (1.0 - kFilteringFactor); 
sz = acceleration.z * kFilteringFactor + sz * (1.0 - kFilteringFactor); 

float aValue = sqrt(sx*sx+sy*sy+sz*sz); 

[gLabel setText:[NSString stringWithFormat:@"%.2f",aValue]]; 

回答

0

至少在Android版是正确的,是因为重力的。获得0的唯一方法是自由落体。如果它在桌子上,那么存在施加到“不下落”的力,其与重力(1G)的量级相同并且反方向。