Skip to content

lerp

v0.3.3

线性插值函数, 支持传入数组和二维数组

用途广泛, 常见用途包括图像处理、动画等领域

基本用法

第一个参数定义初值, 第二个参数定义终值, 第三个参数决定取值

  • 第一个参数与第二个参数可以是数组或二维数组
js
// 传入数值
lerp(1, 2, 0) // 1
lerp(1, 2, 0.5) // 1.5
lerp(1, 2, 1) // 2
lerp(1, 2, 3) // 4

// 传入数组(数组长度必须一致否则会报错)
lerp([1, 2], [2, 4], 0.5) // [1.5, 3]

// 传入二维数组(数组长度必须一致否则会报错)
lerp(
  [
    [1, 2],
    [3, 4],
  ],
  [
    [11, 12],
    [13, 14],
  ],
  0.5
)
// [
//   [6, 7],
//   [8, 9],
// ]

类型提示

当传入的内容是数组且长度小于等于 8 时, 会给出精准的输出类型

js
// 精准的输出类型
lerp([1, 2], [2, 4], 0.5) // [number, number]
lerp([1, 2, 3, 4], [2, 4, 6, 8], 0.5) // [number, number, number, number]
// 二维数组不会给出精准类型提示
lerp([[1, 2], [3, 4]], [[2, 4], [6, 8]], 0.5) // number[][]

基于 Mulan PSL v2 许可发布