Java 刚体碰撞。。。常态?

Java 刚体碰撞。。。常态?,java,geometry,physics,collision,Java,Geometry,Physics,Collision,所以,我一直在学习物理、微积分、几何等等。我正在做碰撞、法线等的测试。所以,我或多或少知道碰撞本身背后的数学原理,但是得到正常值呢?我有两个质心和一个碰撞点,我可以从形状1的位置减去形状2的位置,得到碰撞向量,但是我如何得到法线呢?90度的圆化和这样的方式是行不通的,因为我用旋转来制作我的形状(虽然稍后会用到扭矩和角动量)。我试着用谷歌搜索我的问题,但我能找到的只是如何检测/处理碰撞(法线已预先计算,或者没有任何意义)。如果碰撞是在刚体之间,那么“法线”是垂直于碰撞点表面的向量。对于球体,这是径

所以,我一直在学习物理、微积分、几何等等。我正在做碰撞、法线等的测试。所以,我或多或少知道碰撞本身背后的数学原理,但是得到正常值呢?我有两个质心和一个碰撞点,我可以从形状1的位置减去形状2的位置,得到碰撞向量,但是我如何得到法线呢?90度的圆化和这样的方式是行不通的,因为我用旋转来制作我的形状(虽然稍后会用到扭矩和角动量)。我试着用谷歌搜索我的问题,但我能找到的只是如何检测/处理碰撞(法线已预先计算,或者没有任何意义)。

如果碰撞是在刚体之间,那么“法线”是垂直于碰撞点表面的向量。对于球体,这是径向矢量(中心之间的矢量);对于其他形状,您必须绘制图表以查看法线指向的方向。无论如何,根据碰撞点的定义,两者的法线必须相等,但必须相反(请参阅牛顿定律,了解为什么必须如此)。

这个问题太宽泛了。请提供更多信息。还有一些代码。这个问题是离题的,因为OP并没有做出任何努力使它成为一个编程问题,而不是数学问题。等等,那个么在编程环境中我该怎么做呢?我得到了速度,位置,和从第一个到第二个质心的向量。我还是不明白你怎么计算这个,比如说一个旋转的正方形。我知道你会怎么画一个圆。更具体的几何,画一幅画。没有“一般”答案——尽管如果其中一个物体是球体,并且你知道碰撞点,那么法线的方向就是从球体中心到碰撞点的向量。如果一个正方形的角碰到另一个正方形的面,法线就是被击中的面的法线。它将是一个多边形,因为我的圆/正方形只是变成了多边形,以允许操纵和形状间碰撞检测。多边形有什么工作方法吗?你总是(?)有“一个角碰到另一个面”。脸的法线就是你要找的那个。如果你不知道多边形边的法线是什么,我也帮不了你…但是如果两个角或两个面碰撞呢?我猜如果两个角碰撞,它们会互相滑动,但是两个面呢?除此之外,是的,你告诉了我我需要知道的,谢谢!