while True:
rate(10000)
t = t + dt #時間
t1 = t1 + dt
sum_F = 0 #每千分之一秒,程式內的總力要歸零重算
if t1 > 1/ per_N:
t1 = 0
r_dom = random() #空氣射出的位置隨機參數
p_dom = random() #空氣射出的角度位置參數
gas.append( sphere(pos = vector((-d*cos(theta)+r*r_dom*cos(p_dom*2*pi)*sin(theta)),(d*sin(theta)+r*r_dom*cos(p_dom*2*pi)*cos(theta)),(r*r_dom*sin(p_dom*2*pi))) , radius = 0.05, v = vec(v0*cos(theta),-v0*sin(theta),0) , Fx = 0 , color=color.yellow,visible = True,make_trail=True))
# 每1/100秒會產生一個隨機位置的空氣分子,以相同的速度射出
for N in gas : #gas List內所有的空氣分子撞擊牆壁時,都會受到一個-Kx的向左受力
N.v+=force_E(N.pos,q_charge)
N.pos += N.v*dt
if mag(N.pos-ball.pos) >4:
N.visible = False
N = None