2
コアモーションとジャイロスコープをテストしています。今、私は理解していない価値を得ています。私の前提は、各x、y、zでは0から360の間の値が得られるが、これは完全な回転であるが、そうではない。コアモーションジャイロ360度の値
[self.motionManager startGyroUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMGyroData *gyroData, NSError *error) {
NSString *x = [NSString stringWithFormat:@"%.02f",gyroData.rotationRate.x];
NSLog(@"X: %@", x);
NSString *y = [NSString stringWithFormat:@"%.02f",gyroData.rotationRate.y];
NSLog(@"Y: %@", y);
NSString *z = [NSString stringWithFormat:@"%.02f",gyroData.rotationRate.z];
NSLog(@"Z: %@", z);
frequency = gyroData.rotationRate.y*500;
float rate = gyroData.rotationRate.z;
if (fabs(rate) > .2) {
float direction = rate > 0 ? 1 : -1;
rotation += (direction * M_PI/90.0)*1000;
NSLog(@"Rotation: %f", rotation);
}
}];
人間が判読可能な回転値を得ることは可能ですか? 0〜360の間の値を間違って取得する必要があるという私の前提ですか?
それで、デバイスは回転回数を知っていますか? –
私はそうは思わない。それはあなたにそれが回っている角速度を与えます(例えば、Pi/3ラジアン/秒)。アプリケーションは、それが何回回転されたかを判断するために、それを追跡する必要があります。 – user1118321
さて、どのように角度が分かっているのか分かりますか?ジャイロスコープは何のために使うことができますか?レベルやゲームを持っているアプリのようなロールボール? –