Как проверить, пересекаются ли треугольники? Моё почтение.
Задача: Сгенерировать 2 рандомных треугольника в системе координат, и проверить, пересекаются ли они.
Решил всё делать через canvas(а как же иначе).
Сгенерировать 2 раза по 3 отрезка (по координатам точек), проверить, что треугольник может получиться из них.
Затем соединить все три отрезка, что бы получились треугольники.
Интересует, как именно можно проверить пересекаются ли они, или нет?
Необходима формула с пояснением, где что.
Благодарю.

21 Авг 2019 в 06:08
122 +1
0
Ответы
1

Для проверки пересечения двух треугольников можно воспользоваться различными методами. Один из способов - это проверка пересечения сторон треугольников.

Для этого можно воспользоваться формулой для определения пересечения двух отрезков на плоскости. Для каждой пары сторон первого треугольника и второго треугольника проверяем их пересечение с каждой стороной другого треугольника. Если хотя бы одно пересечение найдено, то треугольники пересекаются.

Формула для определения пересечения двух отрезков на плоскости:

Пусть отрезок AB задан точками A(x1, y1) и B(x2, y2), отрезок CD задан точками C(x3, y3) и D(x4, y4).

Тогда формула пересечения отрезков имеет вид:

n = (x4-x3)*(y1-y3) - (y4-y3)*(x1-x3)
m = (x2-x1)*(y1-y3) - (y2-y1)*(x1-x3)

Пересечение отрезков происходит, если n и m имеют противоположные знаки и тоже самое выполняется для отношения:

t = (x4-x3)*(y1-y3) - (y4-y3)*(x1-x3) / (y4-y3)*(x2-x1) - (x4-x3)*(y2-y1)

Если t находится в диапазоне от 0 до 1, то отрезки пересекаются.

Таким образом, применяя данную формулу для всех пар сторон двух треугольников, можно определить, пересекаются ли они.

20 Апр в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир