Geometry 把球从圆上弹下来

Geometry 把球从圆上弹下来,geometry,bounce,Geometry,Bounce,所以我在做一个像粘液排球的游戏。基本上,我的两个主要球员,或物体,是半圆的两边,我有一个网在中间,和一个球。我的问题是我不知道如何使球反弹成一个半圆,从而使它同时遵循角度和方向。我试着查找,但它们都是关于墙或矩形的,而不是从圆形物体上反弹。任何代码或想法都会有所帮助。“画一个半圆,将其指向上方,将平行光线直接向下照射,并让这些光线反射出去。反射光线的包络线将为a的一半”: 图像源:。 更直接地说,假设沿着球的轨迹有一条射线r。 找到r与半圆C的交点p。 计算p处的切线t。 计算p处的法向n

所以我在做一个像粘液排球的游戏。基本上,我的两个主要球员,或物体,是半圆的两边,我有一个网在中间,和一个球。我的问题是我不知道如何使球反弹成一个半圆,从而使它同时遵循角度和方向。我试着查找,但它们都是关于墙或矩形的,而不是从圆形物体上反弹。任何代码或想法都会有所帮助。

“画一个半圆,将其指向上方,将平行光线直接向下照射,并让这些光线反射出去。反射光线的包络线将为a的一半”:

图像源:。
更直接地说,假设沿着球的轨迹有一条射线r。 找到r与半圆C的交点p。 计算p处的切线t。 计算p处的法向n。
将r从n向r'反射

你能提供一些代码吗?基于此,尝试和帮助你会更容易。另外,您使用什么语言编程?查看box2d。它适用于您可能会询问的大多数语言。这实际上更像是一个数学/物理问题。你试过在代码中实现物理吗?你能在反弹点画一条与圆相切的线吗?然后可以将该切线视为“墙”并反弹。但这实际上是一个数学问题,不是一个编程问题。或者,物理,如果你的墙有任何世俗的属性。我使用java,sry关于这一点,但是的。我想我现在算出来了,谢谢。。。今晚我会上传代码来显示我现在的位置……这是正确的,但我不知道你为什么要提到肾病。另外,请注意,球在物理上是不精确的(旋转是一个重要的动力)。@Veedrac:我提到了肾单位来解释图像。