VPython是近几年非常流行的Python扩展库,被广泛应用在科学研究和中学教学中.它是一个非常方便的3D建模工具.
请先看一个简单的例子:
from visual import *
floor = box(length=4, height=0.5, width=4, color=color.blue) #创建地平面
ball = sphere(pos=(0,4,0), color=color.red) #创建一个球
ball.velocity = vector(0,-1,0) #设置球的速度向量
dt = 0.01
while 1: #无限循环
rate(100) #刷新时间间隔,值越大时延越短
ball.pos = ball.pos + ball.velocity*dt #每次球的位置S = S0 + V*dt,标准直线运动的微分形式
if ball.y < 1: #球的高度小于1时,认为已经碰到地面,则反向运动,模拟了一个反弹的动作
ball.velocity.y = -ball.velocity.y
else:
ball.velocity.y = ball.velocity.y - 9.8*dt #否则,继续做匀加速直线运动(自由落体,幅度向下为负)
上面是一个相当简单的程序,却精确地模拟了自由落体运动的全过程,甚至包括反弹.
下面是程序的运行效果:
先来看一下