Licson Lee says to Ow< [MSFW]
vec2 rStart; // [x1, y1] vec2 rEnd; // [x2, y2] vec2 nCoord; // [0, 0] to [1, 1] vec2 result = rStart + dot((rEnd - rStart), nCoord);