日期:2022/12/31
前言
最近終於把108課綱各章的重點整理寫好了,發布在我的教學平臺網站上,分別是「高一物理(108課綱)」、「選修物理(108課綱)」,使用的工具是開放原始碼的心智圖軟體Freeplane。
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)