迭代一个函数,在VPython中每次运行时显示更新的位置

时间:2014-07-28 18:42:34

标签: python vpython

通过在列表currentTargetPos中发送位置数据来更新框的位置。 但是当我在某个循环中运行以下代码时,VPython会显示所有位置框的踪迹。显示器存在这种情况。我想显示最近的盒子位置。如何更新场景?

from visual import *
bluebox=box(pos=vector(currentTargetPos[0], currentTargetPos[1], currentTargetPos[2]), size=  (1,1,1),color=color.cyan)
while 1:
    rate(100)
    break 

编辑:我没有盒子的速度数据。所以我无法使用速度更新位置。所以这基本上不是严格意义上的动画,因为while循环总是会中断。但是,我想让它看起来像动画。

1 个答案:

答案 0 :(得分:0)

如果您每次更新位置时都运行上述代码,那么您每次都会创建一个新框,在每个使用位置显示该框的多个副本。

你的循环,如图所示并没有真正做任何事情。如果你想逐步浏览一个值列表,你可以在循环中做到这一点(我假设currentTargetPos是一个组件列表,x,y,z ,, x,y,z,x, Y,Z,等):

counter = 0
while 1:
    rate(100)
    bluebox.pos = vector(currentTargetPos[z]+currentTargetPos[z+1]+currentTargetPos[z+2])
    counter = counter + 3