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. Opencv -lippicv

    参考博客:https://blog.csdn.net/tmosk/article/details/76578082 参考博客:https://blog.csdn.net/kaka20080622/ar ...

  2. Kali2.0中peda与pwntools的安装

    MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  3. 「JSOI2015」串分割

    「JSOI2015」串分割 传送门 首先我们会有一个贪心的想法:分得越均匀越好,因为长的绝对比短的大. 那么对于最均匀的情况,也就是 \(k | n\) 的情况,我们肯定是通过枚举第一次分割的位置,然 ...

  4. [Python] Tkinter的食用方法_02_LabelFrame RadioButton CheckButton

    #开始 Python的话 我是看的小甲鱼的视频 所以代码也是小甲鱼的修改版 本博客这里只是学习记录 小甲鱼是个很棒的老师,虽然经常飙车.... #第一个代码 from tkinter import * ...

  5. 初始Linux软硬链接

    转载 https://blog.csdn.net/libaineu2004/article/details/85918682 用实践让你明白"软链接"和"硬链接" ...

  6. 在ubuntu永久添加alias

    1. cd 进入家目录 操作如下: cd ~ 2.显示隐藏文件 操作如下:ls -al 3.vim打开.bashrc 操作如下: vim .bashrc 4.按a编辑添加alias example=' ...

  7. android界面布局

    (一)LinearLayout界面编排模式 他的格式是按照线性顺序,由上往下或右左往右,逐一排列界面组件. layout_width:中的“match_parent”表示要填满他所在的外框,而“wra ...

  8. Xcode创建子工程以及工程依赖

    https://www.jianshu.com/p/f2bc7d155a86 阅读 7858 视频地址 如果文章不详细,点击看操作视频 项目需求:代码抽层,业务逻辑和数据处理要高度抽离,模块化,需要将 ...

  9. /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法

    #############################BEGIN############################# strings /usr/lib64/libstdc++.so.6.0. ...

  10. Bugku-CTF加密篇之简单加密(e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA)

    简单加密   e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA