mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
deal with 0 duration projectile interval
This commit is contained in:
parent
8d662e51f7
commit
4f51f073a0
@ -111,10 +111,12 @@ class ProjectileInterval(Interval):
|
||||
def calcStartVel(startPos, endPos, duration, zAccel):
|
||||
# p(t) = p_0 + t*v_0 + .5*a*t^2
|
||||
# v_0 = [p(t) - p_0 - .5*a*t^2] / t
|
||||
t = duration
|
||||
return Point3((endPos[0] - startPos[0]) / duration,
|
||||
if (duration == 0):
|
||||
return Point3(0, 0, 0)
|
||||
else:
|
||||
return Point3((endPos[0] - startPos[0]) / duration,
|
||||
(endPos[1] - startPos[1]) / duration,
|
||||
(endPos[2] - startPos[2] - (.5*zAccel*t*t)) / t)
|
||||
(endPos[2] - startPos[2] - (.5*zAccel*duration*duration)) / duration)
|
||||
|
||||
def calcTimeOfImpactOnPlane(startHeight, endHeight, startVel, accel):
|
||||
return PythonUtil.solveQuadratic(accel * .5, startVel,
|
||||
|
Loading…
x
Reference in New Issue
Block a user