gpt4 book ai didi

ios - 如何使用 Apple Watch 中的加速度计数据?

转载 作者:行者123 更新时间:2023-11-30 12:05:12 29 4
gpt4 key购买 nike

通过下面的代码,我获取了加速度计数据,现在我想用它来跟踪用户的运动,特别是速度。环顾 iPhone 上使用 Core Motion 的代码,他们使用 motionManager可以为 accelerometerUpdateInterval 设置值的对象以及获得 .acceleration.x值例如。我如何处理我返回的原始数据,以便我可以确定例如一个人移动的速度有多快或者他们的 ARM 摆动的速度有多快?

//Record the data
if CMSensorRecorder.isAccelerometerRecordingAvailable() {
print("Accelerometer available")
recorder.recordAccelerometer(forDuration: 20 * 60) // Record for 20 minutes
}
//Read the data
if CMSensorRecorder.isAccelerometerRecordingAvailable() {
let accelerometerData = recorder.accelerometerData(from: startDate, to: endDate)
for (index, data) in (accelerometerData?.enumerated())! {
print(index, data)

}
}

Prints:

0 388, 208409.082611, 529770182.607276, (0.038574, -0.762207, -0.652832)
1 388, 208409.102722, 529770182.627387, (0.027588, -0.763184, -0.660889)
2 388, 208409.122863, 529770182.647528, (0.027100, -0.763184, -0.661865)
3 388, 208409.142974, 529770182.667639, (0.030029, -0.756836, -0.661865)
4 388, 208409.163116, 529770182.687781, (0.026611, -0.764648, -0.665039)

编辑:我发现这个库看起来很完美,但已经 3 年没有更新了……还有什么类似的东西仍在维护吗? https://github.com/MHaroonBaig/MotionKit

最佳答案

我发现在 watch 上使用 CMMotionManager 的效果与在 iPhone 上一样好。这样您就可以在 awake 中实现 startAccelerometerUpdates 并接收有关 X Y Z 坐标的 watch 位置的实时反馈,以便您更好地掌握数据;

var motionManager = CMMotionManager() 

override func awake(withContext context: Any?) {
super.awake(withContext: context)

manager.accelerometerUpdateInterval = 0.2

manager.startAccelerometerUpdates(to: OperationQueue.current!) { (data, error) in
if let myData = data {

print("x: \(myData.acceleration.x) y: \(myData.acceleration.y) z: \(myData.acceleration.z)")
if myData.acceleration.x > 1.5 && myData.acceleration.y > 1.5 {

}
}
}



}

关于ios - 如何使用 Apple Watch 中的加速度计数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46756274/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com