温馨提示:本文翻译自stackoverflow.com,查看原文请点击:ios - Calculate a short vertical distance traveled by iPhone
cocoa-touch ios iphone swift core-motion

ios - 计算iPhone沿垂直方向的短距离

发布于 2020-04-15 09:54:59

目前,我正在开发一个需要检测iPhone是否启动和停止垂直移动的应用程序。我需要能够检测到很短的垂直距离(50-100厘米),即如果有人下蹲。

有没有一种方法可以计算出Core Motion框架

let motion = CMMotionManager()

if motion.isDeviceMotionAvailable {
    self.motion.deviceMotionUpdateInterval = 1.0 / 60.0
    self.motion.showsDeviceMovementDisplay = true

    self.motion.startDeviceMotionUpdates(using: .xMagneticNorthZVertical, to: .main, withHandler: { (data, error) in
        if let validData = data {
            // Just a random minimum acceleration threshold                    
            if validData.userAcceleration.y > 3 {
               print(validData.userAcceleration.y)
            }
         }
     })
}

查看更多

提问者
Michael Samoylov
被浏览
12
matt 2020-01-26 20:53

有没有一种方法可以计算Core Motion框架行进的垂直距离?

Core Motion可以检测姿势(手机的方向)和加速度(手机如何启动或停止移动,加速或减速)。平滑的垂直移动根本不会出现。您可能知道运动开始和结束,但是这些事件发生的距离并不大。您可能会基于初始加速(这可以让您计算出行驶的速度)和减速之前的时间来猜测。但这不只是猜测。