Как получить процент от того, насколько перекрываются два тела?
Я новичок в LibGdx, и я хочу знать, как я могу получить процент от того, сколько двух тел перекрываются. Пока все, что я знаю, это то, что мне нужно использовать Contact Listener, но чем что? Я использую LibGdx в Java, а не C++. Есть ли способ получить размеры поверхности тел и, может быть, сравнить их? Я буду признателен за любую помощь.:)
Например. Допустим, у нас есть 2 тела (КВАДРАТЫ) с именами b1 и b2. Один из них настроен как датчик, чтобы они могли проходить друг через друга. И что я хочу сделать, так это то, что консоль распечатывает процент того, насколько они перекрываются, когда их координата x одинакова.
1 ответ
Для двух полигонов вы можете использовать алгоритм отсечения полигонов, чтобы найти перекрывающуюся область. Здесь есть примеры на многих языках: http://rosettacode.org/wiki/Sutherland-Hodgman_polygon_clipping
Для двух кругов это намного проще, вы сможете найти способ сделать это с помощью быстрого поиска в Google, например. http://mathworld.wolfram.com/Circle-CircleIntersection.html
Для круга и многоугольника я не знаю ни одного простого или удобного метода.