Мне нужно интерполировать между тремя различными диапазонами: (1,1,3), (. 72,1), (1.4,1.9) -> (1,1.05) и (2,3) -> (1.05,1.1) где первые два элемента являются значениями x, а вторые два - значениями y, но, похоже, функция не возвращает правильные значения, даже для заданных точек,
Любая помощь приветствуется.
function lerp(x1, x2, y1, y2, x) {
return y1 + (x2 - x1) * (y2 - y1) / (x2 - x1);
}
function savings(t) {
let res;
let m;
if (t >= 1 || t <= 1.3) {
res = lerp(1, 1.3, .72, 1, t);
console.log(res)
}
if (t >= 1.4 || t <= 1.9) {
res = lerp(1.4, 1.9, 1, 1.05, t);
console.log(res)
}
if (t >= 2 || t <= 3) {
res = lerp(2, 3, 1.05, 1.1, t);
console.log(res)
}
return res;
}
savings(1.3)