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. zxEditor

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-C ...

  2. jeecg /ant-design-vuepro 前端使用

    1.原生axios使用 <script> import Vue from 'vue'; import axios from 'axios'; axios.defaults.baseURL ...

  3. nginx.conf nginx反向代理配置文件

    nginx反向代理配置文件 nginx.conf proxy_default.conf proxy.conf vhost/*.conf upstream/*.conf cache/*.conf ngi ...

  4. 大小端(MSB & LSB)

    谈到字节序的问题,必然牵涉到两大CPU派系.那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU.PowerPC系列采用big endian方式存储数据,而x86系列则采用l ...

  5. Hadoop 启动/停止集群和节点的命令

    集群启动/停止Hadoop集群:start-all.sh    stop-all.sh 1) 启动NameNode, DataNode 2) 启动JournalNode, JournalNode在hd ...

  6. Aggregate 聚合用法

    var listb= ListA.Where(x => x.Id.Equals(obj.Id)).Select(x => x.SubData).Aggregate((x, y) => ...

  7. 如何让后加载的元素被一开始就有的css样式渲染成功(强制提升css优先级)

    今天在做搜索框中的提示语下拉的时候,提示框把搜索框的底部的border遮住,导致看起来不是很美观: 因为下方的提示框是用js后加载的它的样式也是随着js一起加载的,而这个js和它的css我们是不能改动 ...

  8. 关于iOS appIcon launchImage 尺寸

    https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix ...

  9. Linux下Nginx1.9.9的安装

    1.环境安装 yum install gcc-c++  .yum -y install pcre*.yum -y install openssl* (安装顺序安装) 2.下载压缩包(这里我使用的是老本 ...

  10. Electron调用.Net的Dll以及将.Net程序作为子进程运行

    调用.Net Dll const edge = require('electron-edge-js'); var testDll = edge.func({ assemblyFile: ". ...