Учитывая положение и размеры квадрата, каково уравнение в JavaScript для проверки, проходит ли линия через прямоугольник?
Что я пробовал до сих пор:
function isSquareIntersectingLine(square, line) {
return (
line.startX >= square.topLeftX &&
line.startX <= square.topLeftX + square.width &&
line.endX >= square.topLeftX + square.width
);
}
Это работает, если размеры:
Square: {topLeftX: 0, topLeftY: 0, width: 5, height: 5}
Line: {startX: 2, startY: -4, endX: 6, endY: 3}
Но если размеры такие, это не сработает:
Square: {topLeftX: 0, topLeftY: 0, width: 5, height: 5}
Line: {startX: 2, startY: -4, endX: 3, endY: 10}
Какая правильная формула дляпроверка, пересекает ли отрезок прямой квадрат в JavaScript?