// linear interpolation by the two values in 0 and 1
function lerp(y1, y2, x) {
return y1 * (1. - x) + y2 * x;
}
function l_transform(points, x, y) {
const x1 = lerp(points[0][0], points[1][0], x);
const x2 = lerp(points[2][0], points[3][0], x);
const x_transformed = lerp(x1, x2, y);
const y1 = lerp(points[0][1], points[1][1], x);
const y2 = lerp(points[2][1], points[3][1], x);
const y_transformed = lerp(y1, y2, y);
return [x_transformed, y_transformed];
}