Objective c 目标C:从用户处滑动摄像头';手指

Objective c 目标C:从用户处滑动摄像头';手指,objective-c,swipe,momentum,angular-momentum,Objective C,Swipe,Momentum,Angular Momentum,我的问题是,如果用户快速滑动屏幕,我应该使用什么算法或数学来保持屏幕滑动势头以保持滚动 示例:屏幕上有一个图像旋转成一个圆圈,如果用户缓慢地滑动相机,它只会随着手指移动。但是,如果用户真的很快,图像应该像旋转木马一样旋转几秒钟,这取决于用户的滑动速度 我能从用户触摸屏幕的时候和用户不停地滑动和抬起手指的地方得到点,有什么想法吗 我有一个每秒调用60次的方法,有什么想法吗 基本上,您需要一个初始速度(例如,以每秒点数为单位)和一个减速率(以每秒^2点数为单位)。如果你使用手势识别器来检测刷卡,它将

我的问题是,如果用户快速滑动屏幕,我应该使用什么算法或数学来保持屏幕滑动势头以保持滚动

示例:屏幕上有一个图像旋转成一个圆圈,如果用户缓慢地滑动相机,它只会随着手指移动。但是,如果用户真的很快,图像应该像旋转木马一样旋转几秒钟,这取决于用户的滑动速度

我能从用户触摸屏幕的时候和用户不停地滑动和抬起手指的地方得到点,有什么想法吗


我有一个每秒调用60次的方法,有什么想法吗

基本上,您需要一个初始速度(例如,以每秒点数为单位)和一个减速率(以每秒^2点数为单位)。如果你使用手势识别器来检测刷卡,它将免费为你提供速度。否则,您必须根据不同阶段的位置和时间戳自行计算

现在,在更新方法中,根据速度推进视图:

distance travelled = velocity * time
并使用减速率更新下一帧的速度:

delta_v = deceleration rate * time // should give a negative value
new velocity = velocity + delta_v
一旦速度降至接近0的阈值,停止运动

这些公式适用于线性运动,但即使你做的是圆周运动,我也会尝试使用它们。或者你可以用角速度做同样的计算。维基百科可能有你必须知道的公式