第4堂課
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | # -*- coding: utf8 -*-
# 匯入視覺化套件
from vpython import *
# 1. 參數設定
#加速度
a = -9.8 #加速度值,在 x、z 方向為 0,在 y 方向為 g=-9.8 公尺/秒^2
#速度
vx = 5 #球的 x 方向速度(公尺/秒)
vy = 0 #球的 y 方向速度(公尺/秒)
#高度
h = 10.0 #球的初始高度,單位為公尺
#時間間隔
dt = 0.001 #畫面更新的時間間隔,單位為秒
#經過時間
t = 0 #模擬所經過的時間 ,單位為秒,初始值為0
# 2. 畫面設定
#畫布
scene = canvas(center=vector(0, h/2, 0), background=vector(0.5,0.6, 0))
#參考地板
floor = box(pos=vector(0,0,0), length=15, height=0.005, width=5)
#球
ball = sphere(pos=vector(0, h , 0), radius=0.2, color=color.blue, make_trail= True)
# 3. 描述物體的運動
while ball.pos.y >= 0.2:
rate(1000)
# 速度 = 速度 + 加速度 * 時間間隔
vy = vy + a * dt
# 位置 = 位置 + 速度 * 時間間隔
ball.pos.x = ball.pos.x + vx * dt
ball.pos.y = ball.pos.y + vy * dt
|
執行結果
作業:修改程式,摸擬球在10公尺高空,以初速5公尺/秒向右自由落下,假設沒有能量耗損,在兩牆間不斷反彈。
本單元課程自2018.7.5日起已被瀏覽 323 次