[VPhysics試教] 2.物體的一維等加速運動改寫

改寫:大珠小珠落玉盤

####################################程式開始###############################
from visual import *

# 1. 參數設定
a = -9.8 #加速度值,在x、z方向為0,在y方向為g=-9.8 m/s^2
vy = 0 #球的y方向初速
vy2=0
vy3=0
vy4=0
size = 0.2 #球的半徑
h = 10.0 #球的初始高度
dt = 0.001 #畫面更新的時間間隔,單位為s
t = 0 #模擬所經過的時間 ,單位為s,初始值為0

# 2. 畫面設定
scene = display(center = (0, h/2, 0), background=(0.5,0.6, 0))
floor = box(pos=(0,-0.005/2,0), length=15, height=0.005, width=5)
ball = sphere(pos =(0, h, 0), radius=size, color=color.blue)
ball2 = sphere(pos =(0.5, h+0.5, 0), radius=size, color=color.red)
ball3 = sphere(pos =(1.0, h+1.0, 0), radius=size, color=color.green)
ball4 = sphere(pos =(1.5, h+1.5, 0), radius=size, color=color.black)

# 3. 描述物體的運動

while (True):
rate(1000)
vy += a*dt
vy2 +=a*dt
vy3 +=a*dt
vy4 +=a*dt

ball.pos.y += vy*dt
ball2.pos.y +=vy2*dt
ball3.pos.y +=vy3*dt
ball4.pos.y +=vy4*dt
if ball.pos.y <= size :
vy = abs(vy)

if ball2.pos.y <= size :
vy2 = abs(vy2)

if ball3.pos.y <= size :
vy3 = abs(vy3)

if ball4.pos.y <= size :
vy4 = abs(vy4)