Для игры, которую я разрабатываю, мне нужен алгоритм, который может вычислять пересечения. Я решил проблему, но способ, которым я это сделал, действительно неприятный, и я надеюсь, что у кого-то здесь может быть более элегантное решение.
Пара точек представляет собой конечные точки линии, проведенной между ними. Если даны две пары точек, пересекаются ли нарисованные линии, и если да, то в какой точке?
Так, например, назовите линии (A.x, A.y) - (B.x, B.y) и (C.x, C.y) - (D.x, D.y)
Кто-нибудь может придумать решение? Подойдет решение на любом языке.
Изменить: Я должен был пояснить, что алгоритм должен возвращать false, если точка пересечения выходит за пределы длины отрезков линии.