前言:其实吧,就是空了研究一下,恰巧百度发现了一个简易的算法,所以就想试试看,毕竟我看了一下论坛里好像大都是分享的模块。
实现的原理:
其中,y为要控制的量,比如坐标,b是目标点,c是参数,一般在(0,1)之间。
通俗的理解,就是让物体距离是上一次距离的若干比例倍。
缓动的特点
1.开始时移动很快,能给人直接的反馈(发出命令后立即相应),交互感强。
2.然后,在逼近过程中,随着移动,速度慢慢变小,移动变慢,
3.最后当无限接近目标(但不会完全到达,是无限趋紧关系)时,速度接近0,看起来就像是自己慢慢停下来了。最终速度为0,非常自然。
可见,该动画效果很好,实际使用很广泛。
该公式的计算也很简单,只需一次减法与一次乘法,效率高。
————————————————
原文链接:https://blog.csdn.net/wonder13579/article/details/85120759
具体原理看原文吧。
演示图就不上了,感兴趣的就下载看看吧。还是那个界面,改了一下算法实现
第一代原贴地址:https://125.confly.eu.org/forum.php?mod=viewthread&tid=14540937&extra=
相比于上一代
修改的点:
1.代码更有序一点
2.流畅度也有所提升
美中不足:个人感觉缺少一点弹性(比喻可能不恰当,更接近的说法应该是灵活度?)
longsui48 发表于 2020-3-15 00:33
这是经典的算法 webUI上的缓动也可以参考一下 这个也很经典
列明 发表于 2020-3-15 13:22
速度按照三角函數來可能會好一些
吴亚杰 发表于 2020-3-15 17:04
楼主说的弹性意思是不是说 按钮到达位置来回晃动一下?
欢迎光临 精易论坛 (https://125.confly.eu.org/) | Powered by Discuz! X3.4 |