math-doc-简单公式

lerp

1
2
3
// 返回值=(1-f)*a + b*f
// a和b是相匹配的向量或标量类型。方可以睡一个标量或与a和b类型相同的向量
lerp(a, b, b)

HermiteInterpolate

埃尔米特插值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 埃尔米特插值
// @t:时间比重
// @p0:左值
// @m0:左值系数
// @m1:右值系数
// @p1:右值
private HermiteInterpolate(t:number, p0:number, m0:number, m1:number, p1:number) : number
{
let t2:number = t * t;
let t3:number = t2 * t;

let a:number = 2.0 * t3 - 3.0 * t2 + 1.0;
let b:number = t3 - 2.0 * t2 + t;
let c:number = t3 - t2;
let d:number = -2.0 * t3 + 3.0 * t2;

return a * p0 + b * m0 + c * m1 + d * p1;
}