我正在创建一个程序来寻找以给定的速度发射炮弹的最佳角度,以便在给定的距离内击中目标。在
我有这个代码:
def Trajectory(angle):
position = vector(0,0,0)
poscurve.plot(pos=position)
velocity = v0 * vector(cos(angle*pi/180), sin(angle*pi/180), 0)
while (position.y > 0) or (velocity.y > 0):
dx = velocity * dt # update dx and dv
dv = g * dt
position = position + dx # apply the updates to velocity and position
velocity = velocity + dv
poscurve.plot(pos=position)
return position
问题是,这个程序以不同的角度多次重复这个函数。当它重复它时,它将新曲线的第一个点连接到上一个曲线的最后一个点,因为函数每次都使用相同的poscurve.plot(pos=position)
。如何使函数在每次迭代该函数时生成一条新曲线?在
(在这个代码片段之外定义了一些变量,程序在概念上运行得很好,只是图形的样子)
添加
poscurve
作为参数:然后,每次传入一个新的
poscurve
。您只需再次调用gcurve
来创建一个新对象。在相关问题 更多 >
编程相关推荐