Простой способ расчета точки пересечения между двумя полигонами в C #

У меня есть два многоугольника, определенные как список векторов, мне удалось написать процедуры для преобразования и пересекания этих двух полигонов (видно ниже кадра 1). Использование линейного пересечения я могу выяснить, будут ли они сталкиваться и написали функцию работы Collide ().

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

Мой вопрос: какой лучший способ выяснить момент пересечения? В примере, давайте предположим, что в кадре 1 правый многоугольник находится на X = 300, кадр 2 он переместил -100 и сейчас находится в 200, и это все, что я знаю, к тому времени, кадр 2 приходит, это было в 300, теперь это было В 200. То, что я хочу знать, это когда он на самом деле стал сталкиваться, в чем значение X, здесь было, вероятно, около 250.

Polygon intersect

Я предпочтительно ищу решение C # исходного кода к этой проблеме. Может быть, есть лучший способ приблизиться к этому для игр?

6
задан Rob 31 August 2011 в 22:11
поделиться