Как определить суперпозицию двух геометрических тел? Доброго времени суток.
Столкнулся с интересной проблемой, хотелось бы спросить мнения у Хабрасообщества.
Есть геометрические объекты, определенные какой-то точкой (Положением, в простых фигурах типа прямоугольника или окружности это будет центром масс, в более сложных — неясно) и списком векторов, указывающих на углы этой фигуры, исходя от точки положения. Например, для прямоугольника длинной 10 и шириной 6 с положением (0, 0) векторы будут:
[-5, -3];
[-5, 3];
[5, 3];
[5, -3];
Вопрос: как определить (в общем случае, для любых фигур), наложились ли две фигуры друг на друга?
У меня есть идея: Если минимальное расстояние от положения фигуры 1 до углов фигуры 2 меньше чем какое — либо расстояние от положения фигуры 1 до углов фигуры 1, то они перекрываются (ну и соответственно та же проверка для фигуры 2). Но мне она не нравится, слишком большая сложность, не красиво… Есть ли у вас решения лучше?
Заранее спасибо

21 Авг 2019 в 06:17
214 +1
0
Ответы
1

Для определения суперпозиции двух геометрических тел можно воспользоваться следующим методом:

Перевести координаты углов каждой фигуры в абсолютные координаты (используя положение каждой фигуры). Найти ограничивающие прямоугольники для каждой фигуры. Проверить пересечение ограничивающих прямоугольников (если они пересекаются, то фигуры могут пересекаться). Если ограничивающие прямоугольники пересекаются, то провести дальнейшую детализацию проверки на пересечение фигур, сравнивая координаты углов каждой фигуры.

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

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