日期:2022/12/31
前言
最近終於把108課綱各章的重點整理寫好了,發布在我的教學平臺網站上,分別是「高一物理(108課綱)」、「選修物理(108課綱)」,使用的工具是開放原始碼的心智圖軟體Freeplane。
高一物理
第1章:科學的態度與方法
VPython 教學文件目錄 安裝及測試 基本語法 等速度直線運動 自由落下 終端速度 水平抛射 使用For迴圈計算水平抛射資料 斜向抛射 圓周運動 簡諧運動 單擺 木塊彈簧系統分離 重力及簡諧 行星運動 相疊木塊 雙重簡諧運動 一維彈性碰撞 ...
m (g), t1 (s), t2 (s), t3 (s), t4 (s), t5 (s), t6 (s), t7 (s), t8 (s), t9 (s), t10 (s), t11 (s), t12 (s), t13 (s), t14 (s), t15 (s), t16 (s), t17 (s), t18 (s), t19 (s), t20 (s)
1.4, 1.50, 1.45, 1.54, 1.53, 2.01, 1.56, 1.57, 2.15, 1.60, 2.18, 1.70, 1.78, 1.90, 1.71, 1.78, 1.85, 1.74, 2.01, 1.70, 1.84
2.9, 1.01, 1.44, 1.21, 1.31, 1.24, 1.49, 1.33, 1.51, 1.46, 1.51, 1.05, 1.14, 1.00, 1.03, 0.84, 1.03, 1.43, 1.29, 0.64, 1.19
4.3, 1.04, 1.05, 0.94, 0.84, 1.21, 1.13, 0.79, 0.84, 1.15, 0.91, 1.13, 1.29, 1.29, 0.85, 1.14, 0.94, 1.06, 1.04, 1.03, 0.94
5.7, 1.14, 1.01, 0.64, 0.77, 1.24, 1.13, 0.87, 0.81, 0.76, 0.73, 0.84, 0.74, 0.69, 0.80, 0.71, 0.82, 0.83, 0.74, 0.75, 0.77
6.9, 0.64, 0.74, 0.69, 0.84, 0.94, 0.84, 0.91, 1.02, 0.83, 0.79, 0.81, 0.90, 1.13, 0.73, 0.55, 0.53, 0.61, 0.71, 0.73, 0.63
import numpy as np
data = np.loadtxt("data.csv", delimiter=',', skiprows=1, unpack=False)
data 儲存的資料為
array([[1.4 , 1.5 , 1.45, 1.54, 1.53, 2.01, 1.56, 1.57, 2.15, 1.6 , 2.18,
1.7 , 1.78, 1.9 , 1.71, 1.78, 1.85, 1.74, 2.01, 1.7 , 1.84],
[2.9 , 1.01, 1.44, 1.21, 1.31, 1.24, 1.49, 1.33, 1.51, 1.46, 1.51,
1.05, 1.14, 1. , 1.03, 0.84, 1.03, 1.43, 1.29, 0.64, 1.19],
[4.3 , 1.04, 1.05, 0.94, 0.84, 1.21, 1.13, 0.79, 0.84, 1.15, 0.91,
1.13, 1.29, 1.29, 0.85, 1.14, 0.94, 1.06, 1.04, 1.03, 0.94],
[5.7 , 1.14, 1.01, 0.64, 0.77, 1.24, 1.13, 0.87, 0.81, 0.76, 0.73,
0.84, 0.74, 0.69, 0.8 , 0.71, 0.82, 0.83, 0.74, 0.75, 0.77],
[6.9 , 0.64, 0.74, 0.69, 0.84, 0.94, 0.84, 0.91, 1.02, 0.83, 0.79,
0.81, 0.9 , 1.13, 0.73, 0.55, 0.53, 0.61, 0.71, 0.73, 0.63]])
a = 3
b = 4
c = 5
A = Point({0, 0})
B = Point({c, 0})
2. 利用餘弦定理計算頂點C需要繞著頂點B逆時鐘方向旋轉的角度。
θ = 180° - acosd((a**2 + c**2 - b**2)/(2*a*c))
3. 定義頂點C的位置。
C = Rotate(Point({c+a, 0}), θ, B)
4. 繪製三角形ABC。
ABC = Polygon(A, B, C)
5. 標示頂點A、B、C分別對應的內角。
α = Angle(B, A, C)
β = Angle(C, B, A)
γ = Angle(A, C, B)
H = 10
g = 9.8
v_0 = 10
tmax = sqrt(2*H/g)
2. 於指令列中輸入以下指令新增數值拉桿定義時間 t,再開啟屬性視窗,將動畫種類調整為遞增。
t = Slider(0, tmax, 0.01*tmax)
3. 於指令列中輸入以下指令新增隨時間移動的點P。
P = Point({v_0*t, H - 0.5*gt**2})
4. 於指令列中輸入以下指令新增水平抛射軌跡。到步驟4為止,就是一個可以由數值滑桿控制的水平拋射動畫。
trail = Curve(v_0*t, H - 0.5*g*t**2, t, 0, tmax)