用于设置
if (motionManager == nil)
motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = framesPorKeyframes / 60.0; //60 Hz
motionManager.accelerometerUpdateInterval = framesPorKeyframes / 60.0; //60 Hz
[motionManager startDeviceMotionUpdates];
referenceAttitude = nil;
供阅读
vec3f_t translation = {0.0f, 0.0f, 0.0f};
CMRotationMatrix rotation;
CMAcceleration userAcceleration;
CMDeviceMotion *deviceMotion = motionManager.deviceMotion;
attitude = deviceMotion.attitude;
rotation = attitude.rotationMatrix;
userAcceleration = deviceMotion.userAcceleration;
[userAccelerationLpf addAcceleration:userAcceleration withTimestamp:deviceMotion.timestamp];
// The user acceleration we want to use is the one computed by userAccelerationLpf
userAcceleration.x = userAccelerationLpf.x;
userAcceleration.y = userAccelerationLpf.y;
userAcceleration.z = userAccelerationLpf.z;
NSLog(@"acc = %f, %f, %f", userAcceleration.x, userAcceleration.y, userAcceleration.z);
读取方法在30赫兹重复。
这是从苹果的样品,不应该给我零!
有线索吗?