如何获得两个身体重叠的百分比?

时间:2014-06-20 20:02:45

标签: java libgdx box2d

我是LibGdx的新手,我想知道如何获得两个物体重叠的百分比。现在我所知道的是我需要使用Contact Listener而不是什么?我在java而不是c ++中使用LibGdx。有没有办法获得身体表面的大小,并可能以某种方式比较它们?我会感激任何帮助。 :)

例如..假设我们有2个名为b1和b2的实体(SQUARES)。其中一个被设置为传感器,以便它们可以相互通过。而我想要做的是控制台打印出当x坐标相同时它们重叠的百分比。

1 个答案:

答案 0 :(得分:3)

对于两个多边形,您可以使用多边形裁剪算法来查找重叠区域。这里有许多语言的例子:http://rosettacode.org/wiki/Sutherland-Hodgman_polygon_clipping

对于两个圈子来说,它更容易,你应该能够通过快速谷歌搜索找到如何做到这一点,例如。 http://mathworld.wolfram.com/Circle-CircleIntersection.html

对于圆形和多边形,我不知道任何简单或方便的方法。