export function intersects(l, r) { if (l.x0 > r.x1) return false; if (l.y0 > r.y1) return false; if (l.x1 < r.x0) return false; if (l.y1 < r.y0) return false; return true; } export function normalizeVector({x, y}) { if (0 === y && 0 === x) { return {x: 0, y: 0}; } const k = 1 / Math.sqrt(x * x + y * y); return {x: x * k, y: y * k}; }