cubic-bezier又称三次贝塞尔,主要是为animation生成速度曲线函数。

cubic-bezier(x1,y1,x2,y2)

此图中:

P0:(0,0) P1:(x1,y1) P2:(x2,y2) P3:(1,1)

(x1,x2 范围为 0-1) (y1,y2没规定,但是过大没必要也没意义。)

我对此曲线是这么理解的:假设P1,P2两个点为吸铁石,曲线是薄铁条(可以被吸铁石影响形状的那种)

那么这个曲线则是被 P1,P2两个吸铁石点拉扯形成的。

有一点需要注意,当这个点距离曲线越远,则拉扯力越大,曲线弧度越大。距离曲线越近,拉扯力越小,曲线弧度越小(这里和吸铁石相反。)

 <!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Document</title> <style>
.animation {
width: 50px;
height: 50px;
background-color: #ed3;
-webkit-transition: all 2s cubic-bezier(.17, .86, .73, .14);
-o-transition: all 2s cubic-bezier(.17, .86, .73, .14);
transition: all 2s cubic-bezier(.17, .86, .73, .14);
}
.animation:hover {
-webkit-transform: translateX(400px);
-ms-transform: translateX(400px);
-o-transform: translateX(400px);
transform: translateX(400px);
}
</style>
</head>
<body>
<div class="animation"></div>
</body>
</html>

这段代码中 (x1=0.17 y1=0.86) (x2=0.73 y2=0.14) 可以画出此运动曲线为

图片看不懂没关系,我教你,简单来讲可以把(0,0)当做物体的初始点,(0,1)当做物体的终点 注意这里不是(1,1),X轴从0到1为这个物体从初始点到终点的时间。

中间有段曲线大约在1/2路程的时候,发现随着时间的推移增加的很缓慢。那就说明这个物体在这段时间移动的慢。

好了,继续。下边有几个常用的曲线

ease: cubic-bezier(.25, .1, .25, 1);

liner:cubic-bezier(0, 0, 1, 1) / cubic-bezier(1, 1, 0, 0)

ease-in:cubic-bezier(.42, 0, 1, 1)

ease-out:cubic-bezier(0, 0, .58, 1)

ease-in-out:cubic-bezier(.42, 0, .58, 1)

In Out . Back(来回的缓冲效果):cubic-bezier(0.68, -0.55, 0.27, 1.55)

参考:https://www.jianshu.com/p/d999f090d333

one more thing: 这个网址可以在线创作Cubic-bezier,蛮有意思的

Cubic-bezier 曲线的更多相关文章

  1. Bezier曲线的原理 及 二次Bezier曲线的实现

    原文地址:http://blog.csdn.net/jimi36/article/details/7792103 Bezier曲线的原理 Bezier曲线是应用于二维图形的曲线.曲线由顶点和控制点组成 ...

  2. [摘抄] Bezier曲线、B样条和NURBS

    Bezier曲线.B样条和NURBS,NURBS是Non-Uniform Rational B-Splines的缩写,都是根据控制点来生成曲线的,那么他们有什么区别了?简单来说,就是: Bezier曲 ...

  3. C# 实现Bezier曲线(vs2008)

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. 连续bezier曲线的实现

    需求场景 一系列的坐标点,划出一条平滑的曲线 3次Bezier曲线 基本上大部分绘图工具都实现了3次Bezier曲线,4个点确定一条3次Bezier曲线.以html5中的canvas为例 let ct ...

  5. 7.5.5编程实例-Bezier曲线曲面绘制

    (a)Bezier曲线                         (b) Bezier曲面 1. 绘制Bezier曲线 #include <GL/glut.h> GLfloat ct ...

  6. 实验6 Bezier曲线生成

    1.实验目的: 了解曲线的生成原理,掌握几种常见的曲线生成算法,利用VC+OpenGL实现Bezier曲线生成算法. 2.实验内容: (1) 结合示范代码了解曲线生成原理与算法实现,尤其是Bezier ...

  7. 简单而粗暴的方法画任意阶数Bezier曲线

    简单而粗暴的方法画任意阶数Bezier曲线 虽然说是任意阶数,但是嘞,算法原理是可以到任意阶数,计算机大概到100多阶就会溢出了 Bezier曲线介绍] [本文代码] 背景 在windows的Open ...

  8. python bezier 曲线

    1.手写bezier公式,生成bezier代码, 如果给的点数过多,则会生成一半bezier曲线,剩下的一半就需要进行拼接: import numpy as np import matplotlib. ...

  9. iOS Bezier曲线

    https://www.jianshu.com/p/2316f0d9db65 1. Bezier曲线 相关软件:PaintCode:可以直接画图,软件根据图像生产Bezier曲线 相关概念:UIBez ...

  10. Bezier曲线的实现——de Casteljau算法

    这学期同时上了计算机图形学和计算方法两门课,学到这部分的时候突然觉得de Casteljau递推算法特别像牛顿插值,尤其递推计算步骤很像牛顿差商表. 一开始用伯恩斯坦多项式计算Bezier曲线的时候, ...

随机推荐

  1. kafka的安装及使用(单节点)

    介绍了linux环境下,kafka 服务的安装与配置 安装 jdk 环境 下载 kafka 源码包放到服务器,解压 开启 zookeeper 开启 kafka server 创建主题 开启生产者 开启 ...

  2. 一、ribbon如何集成在openfeign中使用

    所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 ribbon是springcloud封装的一个基于http客户端负载均衡的组件.spri ...

  3. JS做动态表格

    在后台将数据发送过来后,你需要将这些数据做成表格,实现一般表格管理功能 例如这种数据格式, 首先要创建table 在table中添加thead  在thead中添加tr 循环数组,且创建开头的inpu ...

  4. C#导出和导入Excel模板功能

    引用  Aspose.Cells; 基于WinForm 导入 private void btn_excel_input_Click(object sender, EventArgs e) { try ...

  5. C#为什么要装箱和拆箱

    来自论坛4楼的回答非常棒,地址:https://bbs.csdn.net/topics/390624164?page=1 内容如下: 道理很简单,按理说C#被设计成一种完全面向对象的语言.因此,包括数 ...

  6. Web编程规范之三层架构设计规范

    本篇是我对Web开发规范中关于三层架构设计规范的一些浅见.虽然三层架构是比较普通,也比较简单的架构设计模式.但是随着业务的增长,涉及到的对象越来越多,处理的逻辑越来越复杂.这其中难免会出现设计不当,从 ...

  7. Python函数Day4

    一.内容补充 __iter__() 就是 iter(),iter() 调用的就是__iter__() __next__() 就是 next(),next()调用的就是__next__() __clos ...

  8. 如何11 周打造全能Python工程师!

    在这个大数据和人工智能的时代,不管你是编程初学者,还是想学习一门其他语言充实自己,Python都是最好的选择之一. 它简洁.优雅.易学,被越来越多的大学作为计算机新生的入门语言: 它是大数据和人工智能 ...

  9. Set的交集、差集踩坑记录

    项目中我用到了Set的retainAll和removeAll两个方法取差集和交集. 用法网上都有,我也不展示了. 但是因为我是急着用,直接就照着写了,没想到出大问题了. 因为我的set是一个map的k ...

  10. ubuntu 启动图形界面 sudo init 5

    Linux系统最早期的时候只有命令行界面,所有的工作都需要用Linux命令来完成. 随着系统的发展,以及图形界面系统的出现,Linux也出现了图形界面,使得Linux系统不再是只有计算机的专业人士才可 ...