将曲线应用于数字范围 - 放宽手势

时间:2014-08-14 14:08:51

标签: ios objective-c math uigesturerecognizer

我正试图轻松地进行平移手势,所以我的手指越远,我的有效平移距离就越小 - 所以我可以让它感觉就像我正在平移的物体在弹簧上。 / p>

我想我需要对我正在平移的距离应用某种非线性曲线。下面的伪想法:

RAW POINTS PANNED 1 - 25 - 50 - 100

'弯曲'点被禁止 1 - 20 - 35 - 45

然后我会使用平移的'弯曲'像素来移动我的UIViews。

我很欣赏这可能有点模糊,我不确定如何最好地描述它。我将非常感谢任何帮助,如果有人需要,我可以尝试更好地描述我的问题。

1 个答案:

答案 0 :(得分:0)

你可以使用像x ^ n,0< n< 1

原点平移= x

平移的曲线点= x ^ n

然后你可以尝试不同的n值。例如。 x ^ 0.8会粗略地给出:

原点平移= 1 - 25 - 50 - 75 - 100

平移的曲线点= 1 - 13 - 23 - 32 - 40

我对objective-c不太熟悉,但是如果你有变量rawPointsPanned,你可以将它转换为用这样的东西平移的曲线点(使用java代码抱歉):

curvedPointsPanned = (int) pow(rawPointsPanned, 0.8);