Math 使用已知直线、交点和角度计算直线

Math 使用已知直线、交点和角度计算直线,math,line,angle,Math,Line,Angle,我不擅长数学,到目前为止我什么都能找到,但这次不行。 我就是想不出来。我想我只是没看到而已。 我在计算方向,两个圆碰撞,一个有一个入射方向, 需要一个外向的方向 到目前为止,我知道如何获得碰撞点,并且可以计算出入射/出射角度alfa。() 我一直在构造引出线并检索m或a(y=ax+b) 因此,从图片中,我知道y,I,alfa和所有线相交的点(没有标记,抱歉) 有人能帮我吗?Im用Java编程。如果在与水平边界碰撞过程中动量守恒,碰撞只会翻转m的符号。也就是说,之后的m值是之前m值的-1倍 假设

我不擅长数学,到目前为止我什么都能找到,但这次不行。 我就是想不出来。我想我只是没看到而已。 我在计算方向,两个圆碰撞,一个有一个入射方向, 需要一个外向的方向

到目前为止,我知道如何获得碰撞点,并且可以计算出入射/出射角度alfa。()

我一直在构造引出线并检索m或a(y=ax+b)

因此,从图片中,我知道y,I,alfa和所有线相交的点(没有标记,抱歉)


有人能帮我吗?Im用Java编程。

如果在与水平边界碰撞过程中动量守恒,碰撞只会翻转m的符号。也就是说,之后的m值是之前m值的-1倍

假设原始直线的方程为y=mx+c,碰撞后直线的方程为y=-mx+b。在交点处,x和y值相同

为了避免以后的混淆,我们将调用碰撞点的x和y值(x,y)而不是(x,y)

在交点处,两条直线的直线方程保持不变(对于x=x,y=y)。所以

所以第二条线的截距(在你的问题中称为“m或a”)是2mX+c,其中X是发生碰撞的X位置。因此,第二行的方程式为:

y = -mx + (2mX + c)

如果在与水平边界碰撞时动量守恒,碰撞只会翻转m的符号。也就是说,之后的m值是之前m值的-1倍

假设原始直线的方程为y=mx+c,碰撞后直线的方程为y=-mx+b。在交点处,x和y值相同

为了避免以后的混淆,我们将调用碰撞点的x和y值(x,y)而不是(x,y)

在交点处,两条直线的直线方程保持不变(对于x=x,y=y)。所以

所以第二条线的截距(在你的问题中称为“m或a”)是2mX+c,其中X是发生碰撞的X位置。因此,第二行的方程式为:

y = -mx + (2mX + c)

这是一个纯数学问题,因此可能与堆栈溢出无关。但我强烈建议你花些时间复习几何/代数,因为如果没有它,像这样的编程(游戏?)将不会有成效。我相信这个问题更适合两个圆圈碰撞?第二圈在哪里?对我来说,这更像是一个基础物理(力学)问题。圆(球)是可变形的吗?这就引出了问题的另一个方面。对不起,你完全正确。我要去学数学。我只是被吸进去了。这个圆圈目前与情况无关。这是一个纯数学问题,因此可能与堆栈溢出无关。但我强烈建议你花些时间复习几何/代数,因为如果没有它,像这样的编程(游戏?)将不会有成效。我相信这个问题更适合两个圆圈碰撞?第二圈在哪里?对我来说,这更像是一个基础物理(力学)问题。圆(球)是可变形的吗?这就引出了问题的另一个方面。对不起,你完全正确。我要去学数学。我只是被吸进去了。圆圈目前与情况无关。假设反射面是水平的,这是正确的。@OliCharlesworth是的,谢谢你的澄清;我更新了我的答案。因为上面的图表,我假设屏障是水平的。在反射面是水平的假设下,这是正确的。@OliCharlesworth是的,谢谢你的澄清;我更新了我的答案。我假设屏障是水平的,因为上面的图表。