OStack程序员社区-中国程序员成长平台

标题: iphone - 核心运动陀螺仪 360 度值 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:43
标题: iphone - 核心运动陀螺仪 360 度值

我正在测试 Core Motion 并使用陀螺仪。现在我得到了我不理解的值(value)观。我的假设是,对于每个 x、y 和 z,我会得到一个介于 0-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 之间的值是错误的吗?



Best Answer-推荐答案


这些值是弧度,而不是度数,所以它们应该在 0 到 2Pi 之间。此外,它们是一个速率,而不是一个角度。它们是每秒弧度。

关于iphone - 核心运动陀螺仪 360 度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737889/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4