缓动函数
大约 3 分钟基础知识文档数学库缓动函数
缓动函数(EasingMethod)用于控制动画的运动速度变化,常用的缓动函数如下表所示:
| 名称 | 描述 | 说明 |
|---|---|---|
| LINEAR | 线性匀速 | 无缓动效果 |
| QUAD_IN | 二次方缓动 | 先慢后快 |
| QUAD_OUT | 二次方缓动 | 先快后慢 |
| QUAD_IN_OUT | 二次方缓动 | 前半段先慢后快,后半段先快后慢 |
| QUAD_OUT_IN | 二次方缓动 | 前半段先快后慢,后半到先慢后快 |
| CUBIC_IN | 三次方缓动 | 先慢后快 |
| CUBIC_OUT | 三次方缓动 | 先快后慢 |
| CUBIC_IN_OUT | 三次方缓动 | 前半段先慢后快,后半段先快后慢 |
| CUBIC_OUT_IN | 三次方缓动 | 前半段先快后慢,后半到先慢后快 |
| QUART_IN | 四次方缓动 | 先慢后快 |
| QUART_OUT | 四次方缓动 | 先快后慢 |
| QUART_IN_OUT | 四次方缓动 | 前半段先慢后快,后半段先快后慢 |
| QUART_OUT_IN | 四次方缓动 | 前半段先快后慢,后半到先慢后快 |
| QUINT_IN | 五次方缓动 | 先慢后快 |
| QUINT_OUT | 五次方缓动 | 先快后慢 |
| QUINT_IN_OUT | 五次方缓动 | 前半段先慢后快,后半段先快后慢 |
| QUINT_OUT_IN | 五次方缓动 | 前半段先快后慢,后半到先慢后快 |
| SINE_IN | 正弦曲线缓动 | 先慢后快 |
| SINE_OUT | 正弦曲线缓动 | 先快后慢 |
| SINE_IN_OUT | 正弦曲线缓动 | 前半段先慢后快,后半段先快后慢 |
| SINE_OUT_IN | 正弦曲线缓动 | 前半段先快后慢,后半到先慢后快 |
| EXPO_IN | 指数曲线缓动 | 先慢后快 |
| EXPO_OUT | 指数曲线缓动 | 先快后慢 |
| EXPO_IN_OUT | 指数曲线缓动 | 前半段先慢后快,后半段先快后慢 |
| EXPO_OUT_IN | 指数曲线缓动 | 前半段先快后慢,后半到先慢后快 |
| CIRC_IN | 圆形曲线缓动 | 先慢后快 |
| CIRC_OUT | 圆形曲线缓动 | 先快后慢 |
| CIRC_IN_OUT | 圆形曲线缓动 | 前半段先慢后快,后半段先快后慢 |
| CIRC_OUT_IN | 圆形曲线缓动 | 前半段先快后慢,后半到先慢后快 |
| BACK_IN | 超过范围的三次方缓动 | 先慢后快 |
| BACK_OUT | 超过范围的三次方缓动 | 先快后慢 |
| BACK_IN_OUT | 超过范围的三次方缓动 | 前半段先慢后快,后半段先快后慢 |
| BACK_OUT_IN | 超过范围的三次方缓动 | 前半段先快后慢,后半到先慢后快 |
| ELASTIC_IN | 指数衰减的正弦曲线缓动 | 先慢后快 |
| ELASTIC_OUT | 指数衰减的正弦曲线缓动 | 先快后慢 |
| ELASTIC_IN_OUT | 指数衰减的正弦曲线缓动 | 前半段先慢后快,后半段先快后慢 |
| ELASTIC_OUT_IN | 指数衰减的正弦曲线缓动 | 前半段先快后慢,后半到先慢后快 |
| BOUNCE_IN | 指数衰减的反弹缓动 | 先慢后快 |
| BOUNCE_OUT | 指数衰减的反弹缓动 | 先快后慢 |
| BOUNCE_IN_OUT | 指数衰减的反弹缓动 | 前半段先慢后快,后半段先快后慢 |
| BOUNCE_OUT_IN | 指数衰减的反弹缓动 | 前半段先快后慢,后半到先慢后快 |
缓动曲线图:

使用缓动函数
import { EasingMethod, getEasingFn } from '@fantasy3d/core';
// 获取二次方缓动函数
const method = getEasingFn( EasingMethod.QUAD_IN );
// 计算0.25时刻的缓动值
const value = method( 0.25 );

