Получить центр пересечения формы (2D) - PullRequest
0 голосов
/ 30 января 2011

Я использую Java-игру Slick java, и я использовал реализацию Slick Shape в качестве хит-бокса для столкновения, и это прекрасно работает. Я использую shape1.intersects(shape2) для проверки, перекрываются ли две фигуры. Теперь я хочу получить центральную точку пересекающейся фигуры для использования в качестве места для генерации частиц, показывающих столкновение между двумя объектами.

Я не могу найти никаких объяснений алгоритмов, которые вычисляют пересечения фигур, возможно, потому что я не знаю, имеет ли оно конкретное имя или нет.

1 Ответ

1 голос
/ 30 января 2011

Глядя на документацию, кажется, есть два метода - union и subtract - с помощью которых вы можете получить пересечение следующим образом:

A ∩ B  =  A ∪ B - (A - B) - (B - A)

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...