Точка пересечение отрезков. у нас есть 2 отрезка: ((a.x, a.y), (b.x, b.y)) и ((c.x, c.y), (d.x, d.y)); как понять что отрезки пересекаются? если пересекаются, как найти точку пересечения?
Для того чтобы определить, пересекаются ли два отрезка, можно воспользоваться следующим алгоритмом:
Проверить, что точки концов одного отрезка лежат по разные стороны от прямой, проходящей через другой отрезок.Проверить, что точки концов другого отрезка лежат по разные стороны от прямой, проходящей через первый отрезок.
Если оба условия выполнены, то отрезки пересекаются.
Для нахождения точки пересечения можно воспользоваться следующей формулой для нахождения координаты точки на прямой, проходящей через две точки:
Для того чтобы определить, пересекаются ли два отрезка, можно воспользоваться следующим алгоритмом:
Проверить, что точки концов одного отрезка лежат по разные стороны от прямой, проходящей через другой отрезок.Проверить, что точки концов другого отрезка лежат по разные стороны от прямой, проходящей через первый отрезок.Если оба условия выполнены, то отрезки пересекаются.
Для нахождения точки пересечения можно воспользоваться следующей формулой для нахождения координаты точки на прямой, проходящей через две точки:
Xa = ((a.x b.y - a.y b.x) (c.x - d.x) - (a.x - b.x) (c.x d.y - c.y d.x)) / ((a.x - b.x) (c.y - d.y) - (a.y - b.y) (c.x - d.x))
Ya = ((a.x b.y - a.y b.x) (c.y - d.y) - (a.y - b.y) (c.x d.y - c.y d.x)) / ((a.x - b.x) (c.y - d.y) - (a.y - b.y) (c.x - d.x))
Таким образом, найденная точка (Xa, Ya) будет представлять собой точку пересечения двух отрезков.