/** * Numerical normalization. * Changes the value to a number in the target interval range, default ([0,1]) * * @param inNum original number * @param inRange range of original number * @param [outRange] range of target * @return {number} */ export function normaliz(inNum: number, inRange: [number, number], outRange: [number, number] = [0, 1]) { let newNum: number let inMin = inRange[0] let inMax = inRange[1] let outMin = outRange[0] let outMax = outRange[1] // newNum = ((inNum - inMin) * outMax) / inMax + outMin newNum = (outMax - outMin) * ((inNum - inMin) / (inMax - inMin)) + outMin return newNum }