cubic-bezier

    三次贝塞尔曲线函数,是一种动画的速度曲线。根据动画设置的时间,速度相应变化

  四个点

    P0,P1,P2,P3,其中P0是起点,坐标(0,0),P3是终点,坐标(1,1)

    PI和P2才是最终生成速度曲线的关键

  

  看了很多博客,没有一个讲解曲线变化怎么控制的,大部分都是列出了定义和常见的曲线,这对我并没有什么帮助,所以花了点时间玩了下

  曲线结论(个人理解)

    x轴

      所占时间百分比

    y轴

      所占进程百分比(这里我理解为距离百分比,由你设置的时间,自动计算总距离)

    分割线

      P0与P3相连的直线

        

    P1:红色  P2:绿色

    P1与分割线产生的弧

      开始路线

        上圆弧曲线

          速度快

            速度随着弧的角度越大越快,时间短(蓝色代表角度)

            曲线变化:快-匀速-慢

              

            向上y轴大于1,出现反弹效果(红色高度代表反弹值)

            曲线变化:快-反弹-慢

              

        直线

          匀速

        下圆弧曲线

          速度慢

            速度随着弧的角度越大越慢,时间长(蓝色代表角度)

            曲线变化:慢-匀速-快

              

            向下y轴小于1,出现反弹效果(红色高度代表反弹值)

             曲线变化:反弹-匀速-快

              

        

    P1和P2的过渡路线

     P1和P2的弧相连会有一段距离

        假设2s,每个点各分1s

          p1的x1占用30%,剩70%,就是0.7s

          p2的x2占用50%,剩50%,就是0.5s

          距离滑动的时间就是1.2s,速度根据时间长短变化

          曲线变化:慢-快-慢

            

          如果设置了反弹,距离就是反弹值,反弹时间1.2s

          曲线变化:反弹-匀速-快

            

    P2与分割线产生的弧

      结束路线

        上圆弧曲线

          速度慢

            速度随着弧的角度越大越慢,时间短(蓝色代表角度)

            曲线变化:快-匀速-慢

              

            向上y轴大于1,出现反弹效果

             曲线变化:快-反弹

              

        直线

          匀速

        下圆弧曲线

          速度随着弧的角度越大越快,时间长

          曲线变化:慢-匀速-快

            

          向下y轴小于1,出现反弹效果

           曲线变化:反弹-匀速-快

             

以上就是我的理解,希望对你有帮助,如有好文章望推荐。

      

  

  

    

cubic-bezier 个人学习理解的更多相关文章

  1. 全面学习理解TLB(Translation Look-aside Buffer)地址变换高速缓存

    全面学习理解TLB(Translation Look-aside Buffer)地址变换高速缓存 前言: 本文学习思路是:存在缘由   --> 存在好处 --> 定义性质 --> 具 ...

  2. MLT的学习理解

    MLT的学习理解 MLT是一个开源的多媒体库,我们的音视频编辑工具,是使用它作为底层支持,某司的'快剪辑'pc版和安卓版,也是用的它. MLT简介 它的GitHub地址,这个库比较老了,现在只有一个作 ...

  3. 菜鸟之路——机器学习之SVM分类器学习理解以及Python实现

    SVM分类器里面的东西好多呀,碾压前两个.怪不得称之为深度学习出现之前表现最好的算法. 今天学到的也应该只是冰山一角,懂了SVM的一些原理.还得继续深入学习理解呢. 一些关键词: 超平面(hyper ...

  4. batch normalization学习理解笔记

    batch normalization学习理解笔记 最近在Andrew Ng课程中学到了Batch Normalization相关内容,通过查阅资料和原始paper,基本上弄懂了一些算法的细节部分,现 ...

  5. Source Xref 与 JavaDocs 学习理解

    最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. 没找到java相关代码的解释,其实用下面这个php版本解释,也非常不错. What is SOURCE ...

  6. TLD网络资源汇总--学习理解之(四)

    原文:http://blog.csdn.net/mysniper11/article/details/8726649 引文地址:http://www.cnblogs.com/lxy2017/p/392 ...

  7. TLD算法概述--学习理解之(一)

    liuyihai@126.com http://www.cnblogs.com/liuyihai/ TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生Zd ...

  8. face recognition[翻译][深度学习理解人脸]

    本文译自<Deep learning for understanding faces: Machines may be just as good, or better, than humans& ...

  9. [深度学习]理解RNN, GRU, LSTM 网络

    Recurrent Neural Networks(RNN) 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义 ...

  10. java中的自动转型的学习理解

    java当中的继承是和c++中的继承类似,只是java中的继承时的父类只能有一位. 我们今天在这里讲的是关于java中的自动转型的理解:顾名思义,自动转型值得就是使用时自动的将自身的类型进行转化. 自 ...

随机推荐

  1. C# 将DataGridView中显示的数据导出到Excel(.xls和.xlsx格式)—NPOI

    前言 https://blog.csdn.net/IT_xiao_guang_guang/article/details/104217491  本地数据库表中有46785条数据,测试正常  初次运行程 ...

  2. AD 快捷键设置

    TAA 设置自动标记原件位号 AR 设置元件向右对齐 AL 设置元件向左对齐 MS 移动所选择 CO 错误报告设置 CTRL + w 设置电气线 PN 添加net label TG 打开封装管理器 P ...

  3. 【 Struts2 配置】Struts2基本搭建

    struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBL ...

  4. 微服务介绍和springCloud组件

      微服务架构模式是:将整个web服务 组织成一系列小的web 服务,这些小的web服务可以进行独立的编译和部署,并通过各自暴露的API接口 进行相互通信,他们相互协作,作为一个整体,为客户提供服务功 ...

  5. WKWebView 使用的坑

    WKWebView 简介: WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用.内存泄漏的 UIWebView.WKWebView ...

  6. redis环境搭建学习笔记

    学习环境为windows.java环境 一.学习教程: 1.菜鸟教程:http://www.runoob.com/redis/redis-tutorial.html 2.redis中文网:http:/ ...

  7. 蓝桥杯2016年省赛C/C++大学A组

    网友年龄 某君新认识一网友. 当问及年龄时,他的网友说: "我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄" 请你计算:网友的年龄一 ...

  8. [PHP]新版的mongodb扩展安装和使用

    旧版的mongo扩展已经不推荐使用了,在php7以上一般是安装和使用新版的mongodb扩展 ubuntu下 apt-get install php-mongodb 例如下面的代码进行了查询和插入集合 ...

  9. JS高级---实例对象和构造函数之间的关系

    实例对象和构造函数之间的关系:   1. 实例对象是通过构造函数来创建的---创建的过程叫实例化   2. 如何判断对象是不是这个数据类型?    1) 通过构造器的方式 实例对象.构造器==构造函数 ...

  10. opencv:截取 ROI 区域

    Rect roi; roi.x = 100; roi.y = 100; roi.width = 250; roi.height = 200; // 截取 ROI 区域 // 这种方式改变 sub,原图 ...