Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我似乎找不到一个答案来找到两个物体之间的碰撞点_Java_Slick2d_Collision - Fatal编程技术网

Java 我似乎找不到一个答案来找到两个物体之间的碰撞点

Java 我似乎找不到一个答案来找到两个物体之间的碰撞点,java,slick2d,collision,Java,Slick2d,Collision,我可以发现,如果两个对象发生碰撞,但不是它们发生碰撞的点,我也看到过其他帖子提出类似的问题,但答案总是太模糊/对用户的知识做了大量假设,并且总是针对其他语言。我正在做一个程序,在这个程序中,一个人发射一个管式炸弹,速度和位移考虑了旋转速度、重力、空气阻力和质量。在我的场景中,目前只有两次发生实际碰撞:第一次是管道炸弹击中四壁之一,第二次是物体击中另一个管道炸弹的爆炸 理论上,我可以计算出管道炸弹和墙壁的碰撞(管道炸弹的碰撞是正方形的),因为管道炸弹只能在完全垂直于墙壁、平行或撞击其四个角中的一个

我可以发现,如果两个对象发生碰撞,但不是它们发生碰撞的点,我也看到过其他帖子提出类似的问题,但答案总是太模糊/对用户的知识做了大量假设,并且总是针对其他语言。我正在做一个程序,在这个程序中,一个人发射一个管式炸弹,速度和位移考虑了旋转速度、重力、空气阻力和质量。在我的场景中,目前只有两次发生实际碰撞:第一次是管道炸弹击中四壁之一,第二次是物体击中另一个管道炸弹的爆炸

理论上,我可以计算出管道炸弹和墙壁的碰撞(管道炸弹的碰撞是正方形的),因为管道炸弹只能在完全垂直于墙壁、平行或撞击其四个角中的一个时碰撞(我可以通过管道炸弹的旋转来计算)。当我试图弄清楚管道炸弹撞击另一个管道炸弹的圆形爆炸时,我被难住了,因为理论上它可能位于管道炸弹的任何一边,因为圆形没有平边

我的计划是找到管道炸弹上与任何物体相交的点,从管道炸弹的质量中心得到半径,并从爆炸所施加的力中找到扭矩(半径随着时间的推移而增大,但力会减小,直到达到零,然后消失),或者是从墙上弹下来的反作用力


下面是一张在我的程序中显示两个碰撞时刻的图像来显示我的点,但我显然还不能这样做…

因为墙基本上是一条垂直线,你可以作为预测碰撞点的指南。

@user2036035我们什么时候开始谈论圆了?哎呀,我无意中点击了其中的另一个链接,但没有意识到。@user2036035一切正常。请务必结束这个问题,因为它现在无关紧要。我仔细研究了这个程序会做什么,如果我的对象是静态的,或者它有固定角度的轨迹,那就没问题了,但问题再次出现,因为它是一个旋转的矩形,而不是一个圆或正方形。@user2036035如果您查看最终结果预览,您可以看到,您可以控制对象的角度以查看其碰撞的位置。此外,如果问题来自你使用的对象不是正方形,那么你可以总是把矩形简化成2个正方形,中间有一个空格。