Что самый эффективный путь состоит в том, чтобы обнаружить треугольно-треугольные пересечения?

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

ну, это обо всем, о чем я могу думать теперь. Возьмите полужирные проходы, и Вы видите то, что является № 1 для меня.;-)

9
задан JaakkoK 18 October 2009 в 17:50
поделиться

3 ответа

Один из способов - проверить наличие двух сторон треугольника A пересекают с любой стороной треугольника B, а затем проверяют все шесть возможностей точки A внутри B или точки B внутри A.

Для точки внутри треугольника см., Например: Точка в тесте треугольника.

Когда мы тестируем столкновения на полигонах, у нас также есть окружающий прямоугольник для наших полигонов. Итак, мы сначала проверяем столкновения прямоугольников, и если есть попадание , мы переходим к обнаружению столкновений полигонов.

17
ответ дан 4 December 2019 в 15:22
поделиться

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

Как я могу определить, находится ли 2D-точка в пределах многоугольника?

-5
ответ дан 4 December 2019 в 15:22
поделиться

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

Простейшая прямая линия для проверки - это линия, идущая горизонтально вправо от точки (или в другом перпендикулярном направлении). Это делает проверку пересечения вершин почти тривиальной. Следующих проверок должно быть достаточно:

  • Координата Y точки между y-координаты двух концов точки вершины? Нет тогда не пересекается.

  • Координата x точки больше самой дальней правой конечной точки вершина? Да, тогда не пересекается.

  • Координата x точки меньше самой дальней левой конечной точки вершины? Да, тогда пересекается.

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

-3
ответ дан 4 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: