【发布时间】:2013-01-28 04:37:32
【问题描述】:
我正在开发一个 Java 游戏(但开发语言并不重要),包括像球或冰球这样的圆形物体,现在正在研究碰撞。 我使用计时器,所以在每一帧我都会检查是否发生碰撞。
这是一个表示对象右上角的图表。
物体的中心用点[0,0]表示,半径为10px,单位为像素。
现在,如果我的对象(例如,obj_1)是方形/菱形(蓝线),要查找另一个对象(obj_2)是否与它发生碰撞,我只需要获取它们的坐标并检查@987654324 @有没有碰撞我会知道的。
但是圆形(红线)的问题更棘手,因为它占用更多空间,而且这个占用的空间不受直线限制。当然,我必须对一些值进行四舍五入(例如在上图中,如果我想检查x = 2 的碰撞,我必须将看起来像 9.5 的 y 值四舍五入到 10)。但我根本不知道如何得到这个公式。任何帮助将不胜感激。
【问题讨论】:
标签: java collision-detection collision geometry angle