mson-three/src/util/num-range.ts

18 lines
409 B
TypeScript

/**
* Convert number from one range to another.
* @example
* // returns 0.5
* convertRange(0, [-1, 1], [0, 1]);
* @param value Value to convert
* @param r1 Source range
* @param r2 Target range
* @returns Value in new range
*/
export function convertRange(
value: number,
r1: [number, number],
r2: [number, number],
) {
return ((value - r1[0]) * (r2[1] - r2[0])) / (r1[1] - r1[0]) + r2[0];
}