我有一个球落到一个点,它应该反弹到另一个点。
我的球开始向第一个点加速,击中点并向左侧反弹。我想要的是速度和速度。在击中第一个点后施加到球上的加速度,因此它都具有弹跳效果,并且到达目的地(不会越过,如明亮的线索)。
我有点之间的线性向量,点的坐标和它们之间的角度。
答案 0 :(得分:2)
首先,我们通过求解t
来计算从较高点到较低点需要多长时间:
at 2 + v iy t = dy
然后我们取t
并将其用于横向速度:
v x = dx / t
一旦你获得了横向速度,只需要按照你喜欢的方式切割时间,然后依次将球移动到每个计算点。
答案 1 :(得分:0)
如果您不想进行全面的物理模拟,可以通过从起点到终点的线性插值(lerp)来伪造它。
有关java脚本中的lerp,请参阅Moving object from vector A to B in 2d environment with in increments of percents。
根据您使用的坐标系更改指向上方的坐标(y或z)。 t从0..1开始动画:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Traceback (most recent call last):
File "/Users/tpmac/preBS.py", line 31, in <module>
doc = file(os.path.join(subdir,f)).read()
NameError: name 'file' is not defined
>>>