16 lines
498 B
TypeScript
16 lines
498 B
TypeScript
/** Linearly interpolates between the min/max values, using t.
|
|
* It can't go outside the range */
|
|
export function lerp(min: number, max: number, t: number) {
|
|
return min + (max - min) * clamp(t, 0, 1);
|
|
}
|
|
|
|
/** Inverse lerp */
|
|
export function inverseLerp(min: number, max: number, value: number) {
|
|
return (value - min) / (max - min);
|
|
}
|
|
|
|
/** Clamps a value between a min and max */
|
|
export function clamp(value: number, min: number, max: number) {
|
|
return Math.min(max, Math.max(min, value));
|
|
}
|