16 lines
359 B
JavaScript
16 lines
359 B
JavaScript
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};
|
|
}
|