var Tween = {linear: function (t, b, c, d){  //匀速return c*t/d + b;},easeIn: function(t, b, c, d){  //加速曲线return c*(t/=d)*t + b;},easeOut: function(t, b, c, d){  //减速曲线return -c *(t/=d)*(t-2) + b;},easeBoth: function(t, b, c, d){  //加速减速曲线if ((t/=d/2) < 1) {return c/2*t*t + b;}return -c/2 * ((--t)*(t-2) - 1) + b;},easeInStrong: function(t, b, c, d){  //加加速曲线return c*(t/=d)*t*t*t + b;},easeOutStrong: function(t, b, c, d){  //减减速曲线return -c * ((t=t/d-1)*t*t*t - 1) + b;},easeBothStrong: function(t, b, c, d){  //加加速减减速曲线if ((t/=d/2) < 1) {return c/2*t*t*t*t + b;}return -c/2 * ((t-=2)*t*t*t - 2) + b;},elasticIn: function(t, b, c, d, a, p){  //正弦衰减曲线(弹动渐入)if (t === 0) { return b; }if ( (t /= d) == 1 ) {return b+c; }if (!p) {p=d*0.3; }if (!a || a < Math.abs(c)) {a = c; var s = p/4;} else {var s = p/(2*Math.PI) * Math.asin (c/a);}return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;},elasticOut: function(t, b, c, d, a, p){    //正弦增强曲线(弹动渐出)if (t === 0) {return b;}if ( (t /= d) == 1 ) {return b+c;}if (!p) {p=d*0.3;}if (!a || a < Math.abs(c)) {a = c;var s = p / 4;} else {var s = p/(2*Math.PI) * Math.asin (c/a);}return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;},    elasticBoth: function(t, b, c, d, a, p){if (t === 0) {return b;}if ( (t /= d/2) == 2 ) {return b+c;}if (!p) {p = d*(0.3*1.5);}if ( !a || a < Math.abs(c) ) {a = c; var s = p/4;}else {var s = p/(2*Math.PI) * Math.asin (c/a);}if (t < 1) {return - 0.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;}return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*0.5 + c + b;},backIn: function(t, b, c, d, s){     //回退加速(回退渐入)if (typeof s == 'undefined') {s = 1.70158;}return c*(t/=d)*t*((s+1)*t - s) + b;},backOut: function(t, b, c, d, s){if (typeof s == 'undefined') {s = 3.70158;  //回缩的距离}return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;}, backBoth: function(t, b, c, d, s){if (typeof s == 'undefined') {s = 1.70158; }if ((t /= d/2 ) < 1) {return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;}return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;},bounceIn: function(t, b, c, d){    //弹球减振(弹球渐出)return c - Tween['bounceOut'](d-t, 0, c, d) + b;},       bounceOut: function(t, b, c, d){if ((t/=d) < (1/2.75)) {return c*(7.5625*t*t) + b;} else if (t < (2/2.75)) {return c*(7.5625*(t-=(1.5/2.75))*t + 0.75) + b;} else if (t < (2.5/2.75)) {return c*(7.5625*(t-=(2.25/2.75))*t + 0.9375) + b;}return c*(7.5625*(t-=(2.625/2.75))*t + 0.984375) + b;},      bounceBoth: function(t, b, c, d){if (t < d/2) {return Tween['bounceIn'](t*2, 0, c, d) * 0.5 + b;}return Tween['bounceOut'](t*2-d, 0, c, d) * 0.5 + c*0.5 + b;}
}

转载于:https://www.cnblogs.com/he-zhi/p/6923671.html

Tween 若干年后我尽然还要学数学 曲线到底是什么鬼啊相关推荐

  1. 经典学经:笨人学数学的方法

    作为一个非科班出身的彻底的外行,学数学的一点经验分享给大家. 数学是什么?大部分中国人心目中的数学,其实按严格的分类,都属于应用数学.一句话:应用数学是用数字和公式描述客观世界的科学,研究的是客观世界 ...

  2. 数学公式太晦涩,不如用代码写出来:这是程序员学数学的独特方式

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:机器之心 简洁的代码不仅能运行程序,还能用来学数学. ∑.∏.∈--如果你学习过 ...

  3. 换个姿势学数学:二次函数与拆弹部队

    由于公式的输入问题,该系列在思否停更,需要关注后续更新的请到简书专栏. UX004 什么叫做二次函数? 想必大家上学的时候都接触过吧,大概的形式就是:y=ax^2+bx+c(a≠0) 为什么这种东西 ...

  4. 我们为什么要学数学?这里给你一个答案。

    我们为什么要学数学? 我们为什么要学数学?数学是研究规律的科学,我们通过学习它来训练逻辑思维,思辩能力,创造力.但是学校里学的数学,却激不起我们的兴趣.每当学生问起"为什么要学?" ...

  5. 程序员的数学_数学公式太晦涩,不如用代码写出来:这是程序员学数学的独特方式...

    简洁的代码不仅能运行程序,还能用来学数学. ∑.∏.∈--如果你学习过数学,你一定知道这些符号的含义,而如果我们能用最喜欢的编程语言来理解它们,也许还能带来更加透彻的领悟.近日,Mindbuilder ...

  6. 最近,4000余名工程师,集体重学数学!竟都只用这一招,快来!

    作为一个程序员,你也许从未意识到「数学」对于你的职业发展起到的作用有多大. 想一想,我们日常学习.求职.工作中的场景,你一定为这些事儿发愁过: 1)做一些算法优化的时候,基本上只能现搬书里的算法,遇到 ...

  7. 带着孩子学数学--经验总结1:乘法怎么教,小学数学阶段等等

    为什么人到中年还要总结这个 活到老,学到老,尤其是数学 给孩子做个榜样 记录鸡娃给孩子鸡数学,自己得先学好,学明白 看了很多文章,明白了自己学号和能教好确实差别挺大,这也是费曼学习法得牛逼之处把 1 ...

  8. 数学基础差怎么补救,怎么学数学最快最有效的方法

    数学是必修科目之一,所以从初一开始就要认真学习数学.那么,怎样才能学好数学呢?这里有几个方法可以参考:第一,上课注意听讲,课后及时复习.对新知识的接受和数学能力的培养主要是在课堂上进行的,因此要注重课 ...

  9. 程序员应该怎么学数学?

    你好,我是悦创. 怎样的学习方法才是行之有效的呢?我想你现在心里还没有一个固定的答案,而我不想一味地去讲我自己的一家之言,毕竟没有什么学习方法是最好的. 你能做的是要多看,去找适合自己的.而我能做的, ...

最新文章

  1. 【c语言】蓝桥杯算法训练 成绩的等级输出
  2. springboot 应用中静态资源下载
  3. hyundai-wia
  4. 学习笔记(54):Python实战编程-Scale
  5. php mysql 云虚拟机_虚拟机+apache+php+mysql 环境安装配置
  6. mongodb morphia
  7. C语言实现支持增删查改的通讯录
  8. Puzzle——模拟
  9. ODrive踩坑(二)3508电机和TLE5012B磁编码器参数配置、校准、位置闭环模式转动电机(TLE5012B-E1000)
  10. Spring-01-IOC控制反转/DI依赖注入
  11. 在线制作ico矢量图标
  12. 群联PS2251-03芯片量产成功详细图文教程
  13. Linux下视频流媒体服务器搭建详解理论
  14. 软件体系结构的分析与测试,软件体系结构分析与评价,software architecture analysis and evaluation,音标,读音,翻译,英文例句,英语词典...
  15. 流媒体-RTMP协议-rtmpdump-flv封装解析(一)
  16. PHP 获取毫秒级别的时间戳,以及和日期之间的相互转换
  17. 比较叶绿体基因组提供海草适应性进化新见解
  18. 线性代数学习笔记6-2:行列式的理解、行列式的性质
  19. 【FPGA教程案例96】控制案例1——基于FPGA的自适应PID控制器verilog实现
  20. 继续在深圳发展还是回武汉呢?

热门文章

  1. 【视频】详解HDFS的HA高可用原理
  2. linux ubuntu/deepin与Windows时间不同步解决办法(双系统)
  3. Hadoop hdfs文件块信息获取/文件重命名/修改文件的副本数量代码示例
  4. 【视频】vue指令之v-else-if
  5. acme.sh签发Let‘s Encrypt证书
  6. C++设计模式--观察者模式(Observer)
  7. 2.1 《数据库系统概论》关系数据结构及形式化定义(关系、关系模式、关系数据库)
  8. python和c混合编程 gil_终于搞明白python与gil
  9. kindle刷多看系统_疑问解答 | kindle真的能护眼吗?
  10. Linux C : GDB调试命令汇总