swift - 以匹配指南针旋转数据的速率连续旋转图形
问题描述
我正在构建一个 iOS 应用程序,该应用程序需要根据传入的罗盘航向数据(实际上是航空 GPS 系统以 10 Hz 的频率到达的 GPS 地面轨迹数据)平滑旋转图像。我可以用正确的持续时间(0.1 秒)轻松地将旋转动画到新的所需角度,但效果仍然很粗糙 - 你可以看出它实际上是一系列离散的动画,而不是一个流体运动。这是当前非常简单的动画代码:
// rotate the compass ring
if let cv = self.compassView {
UIView.animate(withDuration: 0.1, animations: {
cv.transform = CGAffineTransform(rotationAngle: CGFloat(newAngle))
})
}
有没有人有一个很好的工作算法来流畅地旋转这样的东西?创建单个动画的一些巧妙方法(可能假设一个完整的 360 度),然后随着旋转速率的变化而修改其速度?苹果自己的指南针应用似乎做了类似的事情。
解决方案
推荐阅读
- sqlite - SQLITE3 GROUP BY "周年纪念日"
- node.js - 使用 axios 的 HTTPrequest 导致 CORS 错误
- espocrm - 如何在 epsocrm 中更改特定登录页面图像的位置
- c# - 如何修复减法、乘法和除法 C# 的代码
- javascript - 如何根据提交而不是合并的拉取请求配置发布起草者
- javascript - 设置间隔功能
- elasticsearch - 按数组项或空数组过滤
- python - 为什么 request.method 没有被调用?
- reactjs - 如何使用 TypeScript 以类型安全的方式访问 React 子元素道具?
- python - 如何从 CSV 解析日期时间?