VPhysics課程,看見物理
已開發30堂課程模組,持續開發中,若有超連結失效,請來信告知 歡迎來信洽談演講、出版事宜:wthwth@gs.cgsh.tc.edu.tw Updated: 202003
2020物聯探實達,上課時間:禮拜四早上10:00-12:00,公 開觀課,欲觀課者請先私訊,以便準備座位…活動記錄:Facebook 社團:“物聯創客探實達” 使用glowscript: https://www.glowscript.org/#/user/wthwth/folder/MyPrograms/ 。
2018物聯探實達,上課時間:禮拜五早上 8:05-8:55 中港高中 501教室,開放公開觀課,欲觀課者請先私訊,以便準備座位…活動記錄:Facebook 社團:“物聯探實達”
聲明:部分程式,PPT改自台大物理系石明豐教授之VPhysics網頁(感謝:南港高中高慧君老師,建中等老師之特色課程提供程式碼)。程式之視覺呈現尚未優化,若有需要,請自行調整參數。
新版:http://vphysics.ntu.edu.tw/ 舊版 : http://tcjd71.wixsite.com/vpython
各章簡介:
第0章VPython環境介紹,程式語言概論
第1章水平等速度運動,雙車競走
第2章等加速度運動,靜止落體
第3章三維等加速度運動
第4章力的合成與分解,向量
第5章等速率圓周,圓錐擺,單擺,複擺
第6章水平簡諧運動,鉛直簡諧運動
第7章動量
第8章彈性碰撞
第9章行星公轉
第10-14章複雜系統
0.為何要學程式設計(Why Coding)?
PPT:中港高瞻物聯網(0) VPhysics課程簡介-201807
程式設計是一種素養導向的課程,兼具探究與實作能力、創造力、問題解決能力,是適應未來工作與生活重要的高階技能。
程式設計由複雜問題的解構(destruct,將一個大問題分解成數個小問題)、分析、簡化條件、上機測試、偵錯(debug)、程式精緻化(refine)。整個過程,需要耐心、恆心、反思與自我實現。這些做研究的能力,都是很好的人格特質。
程式設計,並不是死背一堆程式碼,或是寫一堆看不懂的機器語言。善用電腦視覺化的優勢,彌補計算的不足。遇到問題,不必急著崩潰,如何上網找資源,是現代科技人必備的IQ與EQ。利用倚天劍(物理)加屠龍刀(VPython),兩把神兵,練就絕世武功(能做出,目前網路尚沒有人會做的事),才是本網頁最重要的宗旨。
發現程式設計的樂趣,是一輩子受用不盡的快樂,享受在程式設計的挑戰與成就感,就是一種取之不盡、用之不竭的智慧。
活動:好玩的遊戲 Blockly games,比賽一:一節課,誰能闖過最多關。比賽二:一學期內,誰能最快破關。

0-1 乾淨的程式碼:用兩行程式,畫一個立體球

訓練能力:快速學習,校準calibration(先確定簡單程式可執行,再進行下一步),簡單化(將程式寫到最簡),性能最佳化(執行速度最快,最節省系統資源)
如果你在大學推甄申請的面試,跟教授說,你會用”兩行程式畫一個立體球,七行程式寫一個立體動畫”,你覺得教授會有興趣看嗎?會優先錄取嗎?
from visual import *
sphere ()
0-1-1 第一招,變換顏色

0-1-2 其他立體物件


0-1-3 畫更多球,數學座標(善用POS指令)

0-1-4 畫更多球,需要數學幾何來定座標

0-1-5 畫一輛車子

0-1-6 太陽六芒星

0-1-7 簡單版俄羅斯方塊

0-2 七行寫一個動畫

0-2-2 四球等速

0-3 用箭頭畫x,y,z軸

0-4 偵錯 debug:
訓練能力:挫折容忍,自我反思,邏輯
程式設計的Coding入門,必須要減少打字的錯誤,不然程式沒辦法執行。抓到打字錯誤,也是一種挑戰與樂趣。先不要用copy paste,自己動手key in這個短程式,看看能不能畫出正確的圖形?
from visual import *
scene = display(title=’1′, width=800, height=800, x=0, y=0, center=(0,0.06,0), background=(0.5,0.6,0.5))
floor = box(pos=(0,-(0.005)/2,0), length=0.3, height=0.005, width=0.1)
萬一打字好幾次都有錯誤,也不必太氣餒,直接copy paste也是可以。即便在台積電這樣大的科技公司,從廠商提供的Python,改寫成工作所需的程式,也是一項成就與貢獻。請記住:要建立自己在職場上的不可取代性,21世紀,學程式語言可能比學英語更重要。
延伸參考Youtube影片:怎麼樣成為一個高手
1.物體的一維等速運動 [基本架構、while]

訓練能力:迴圈判斷,運動學基本觀念(位置,速度,加速度)
等速度運動,是最簡單的運動。但也是最基礎的運動學三要素,位置、速度、加速度的入門體驗。
PPT: 中港高瞻物聯網-VPhysics(1)一維等速度運動-201704
影片-物聯百萬大學堂
Google classroom 課程代碼: 9apgxr
1-0 簡單等速

1-1黑藍兩車競走

有趣的雙車競走,圖中兩車,哪一台速度快?這個程式,只需要用到等速度運動的程式即可。學程式設計,最重要的,不是寫出很長的程式碼,而是~~”創意”。
1-1-1 雙車競走,改成等加會怎樣?
1-2 四角巡航

1-3 十車,彩色

VPython 1-3: ten colorful cars
1-4作業:
1-4-1 改寫程式(1)將box改成球、(2)變成四球爆炸 (3)變成四cone爆炸,
先不要看解答,想不出來,再參考:將box改成球,四球爆炸,四CONE爆炸參考解答
若參考解答,仿照解答再寫一個程式
2.物體的一維等加速運動 [if]

會了等加速度運動,你便可以稱為動畫師了,因為模擬生活中的運動,就從等加速度運動開始。”你不需要很厲害才開始,但你要開始才會很厲害”。這個程式是球自由落下,再反彈,比較 難。2-0先練習水平等加,與單純的靜止落體
PPT: 中港高瞻物聯網-VPhysics(2)自由落體與反彈-201704
2-0 水平一維等加

2-0-1水平面,速度與加速度反向

2-0-2 停止距離=反應距離+煞車距離

開車或騎車時,整個停下來的距離,其實包括兩個部分:
(1)反應距離:從發現前方路況,到開始啟動煞車,此 運動為等速度運動,故反應距離=反應時間(大約0.2秒)*原本車速。
(2)煞車距離:啟動煞車後,依照等加速度,直到車子停下,故煞車距離=原本車速平方/(2*煞車加速度)
2-0-3 靜止落體(未反彈)

VPython程式碼 2-0-3 靜止落體
2-1 斜面等加速度:

PPT:中港高瞻物聯網-VPhysics(2-1)斜面-201807
2-2斜面的平拋:

2-3 簡單平拋:

2-3-1 不同初速的平拋

2-4 知名相對運動:斜拋與靜落

2-5作業:改成四顆球陸續掉下再反彈 不要先偷看參考解答
影片-物聯網狂新聞
3.物體的三維運動 [畫位置時間圖,gcurve]

在物理很重要的函數圖形:x-t圖, v-t圖, a-t圖,都可以畫出來
PPT:中港高瞻物聯網-VPhysics(3)三維運動-201704
3-0 簡單斜拋

3-0-1 看見斜拋的速度

3-0-2 看見斜拋的x等速,y上拋

3-0-3 簡單函數圖形

3-0-4 簡單函數圖形 (sin)

3-0-5 簡單函數 (sin x)

3-1 有無空氣阻力之斜拋比較:

3-2 運動學著名的斜拋圖:

在高中運動學中,初速相同的斜拋,仰角=45度時,有最大的水平射程;互餘角的水平射程會相同。以前這些知識,你要用背的或算的,現在透過VPython的視覺化,學物理變的很有感!!
3-2-1 各種角度斜拋(動量的寫法)

3-3 兩牆反射的平拋:

3-4 箱子內的反射:

4.力(向量)的合成 [vector、list、for]

疊加原理superposition theorem,應用向量的加成,在電磁學中,求電場、磁場也可以適用
PPT:中港高瞻物聯網-VPhysics(4)力的合成-201705
5.等速率圓周運動

在高中物理,想要證明法線加速度a=v^2/r,是很複雜而困難的。換個角度想,如果加速度與半徑平方成反比,會怎樣?與速度一次方成正比,會怎樣?
物理老師只能告訴你:軌跡一定不是圓,但是軌跡是什麼?做怎樣的運動?VPython可以告訴你,盡情嘗試吧,因為電腦會幫你畫出來,很快~~
PPT:中港高瞻物聯網-VPhysics(5)等速率圓周運動-201707
簡易教案: 簡易教案_等速率圓周運動201707
5-0 簡單圓周

5-0-1 用參數式來寫簡單圓周

5-0-2 加一個Z軸初速,就成螺旋

高中物理的數學,限制在二維的平面運動,然而卻也讓學生的空間概念不足,常常只具備平面的概念,對於搬家公司疊家具,搬家具;開飛機…等需要空間概念的工作,只能靠直覺或在職訓練。有了電腦的3D立體功能,讓空間概念,比照平面概念,一樣可以用”15行程式碼”,便寫出來!
5-1 鉛直圓周(單擺):

單擺,在物理界是知名運動,即便是用算的,也不太容易”體驗”箇中變化的原理,VPython可以幫你算出,你想要得到的各種物理量,動手試試看吧
PPT:中港高瞻物聯網-VPhysics(5-1)鉛直圓周單擺運動-201807
5-2 單擺+釘子

知名的力學能守恆實驗,用程式模擬,讓結果看得到,有趣的挑戰題
5-3 圓錐擺(錐動擺):

在水平面,等速率圓周運動的圓錐擺,其實,只要用單擺的程式碼,加上”適當”的初速度便可得到。從程式碼中,不只學到資訊科技,更可以印證物理
5-3-1 圓錐擺變成複擺 (+vy)

5-3-2 正向力的圓錐擺

5-4 知名物理問題:雙星互繞

第一種寫法:運動學。雙星互繞,位置;速度;加速度與質量成反比反向,不再是冷冰冰的物理公式,從本程式可以”看得到”
5-4-1 雙星互繞第二種寫法:動力學,重力當作向心力

5-5 知名物理問題:三星互繞

5-5-1 四星互繞

5-5-2 四星互繞 (3D)

空間概念的實例,讓四球互繞,變程式兩垂直面上的雙星互繞
5-5-3 六星互繞

5-5-4 六球互繞 (3D)

空間概念範例系列,六球分別在x, y, z軸互繞
5-6 知名物理問題:複擺之角動量守恆

6.虎克定律和簡諧運動

簡諧運動Simple Harmonic Motion是高中物理最困難的運動,卻也是量子力學模擬複雜系統,如晶格震盪Lattice vibration等,高階物理的基本題型。萬丈高樓平地起,擠身物理高手,就從簡諧運動開始
PPT:中港高瞻物聯網-VPhysics(6)簡諧運動-201707
6-0 雙球簡諧

6-1 鉛直簡諧:

鉛直簡諧的力學能守恆,包含:動能+重力位能+彈力位能,是力學最難算的題型,從這個模擬程式,讓這些計算,都變成體驗的經驗值,輕輕鬆鬆,練成神功~~
PPT:中港高瞻物聯網-VPhysics(6-1)鉛直簡諧運動-201807
6-1-0 倒立的鉛直簡諧

6-1-1 鉛直簡諧的速度與加速度

6-1-2 雙球鉛直簡諧,SHM週期和哪些變數有關?

6-1-3 鉛直簡諧與彈簧波之專題 slinky

VPython程式碼 6-1-3: slinky
6-2 雙質點簡諧:

質心,真的不會動嗎?
7.動量 [dictionary]

PPT:中港高瞻物聯網-VPhysics(7)動量,運動慣性-201707
7-0 單純滾動:

8.彈性碰撞 [tuple、function]

彈性碰撞,是進入工程力學重要的基礎,透過本程式,完全心領神會
PPT:中港高瞻物聯網-VPhysics(8)彈性碰撞-201707
8-0 兩種一維彈碰:

8-1 鉛直彈碰:兩球鉛直放置,上面為小質量,自由釋放後,會如何?

有趣的物理實作,把網球放在籃球上,一起釋放,這樣看似複雜的問題,程式也寫的出來,而且,不長
PPT:中港高瞻物聯網-VPhysics(8-1)鉛直彈性碰撞-201807
8-2 斜向彈碰:

二維彈碰很複雜?花式撞球的顆星,如何實踐?先看看本程式,再下定論吧
PPT:中港高瞻物聯網-VPhysics(8-2)二維彈性碰撞-201807
8-3 牛頓擺:

9.行星公轉 [class]

牛頓當年,為何從一介書生,爆紅於物理界,成為執牛耳的大師?證明出克卜勒定律,讓當時的幾位學院派教授大老們懾服,是很重要的原因
PPT:中港高瞻物聯網-VPhysics(9)行星公轉-201707
9-0 簡單重力:

9-1 陀螺轉動:

好玩的程式,就不多說,自己慢慢體會
PPT:中港高瞻物聯網-VPhysics(9-1)陀螺-201807
9-2 地球自轉:

9-2-0 公轉與自轉

9-3 哈雷彗星:

哈雷彗星的週期是76年,以前是用克卜勒第三定律算出來,現在,你還可以用”看見”的方式知道這個數據喔~~
9-3-1 克卜勒第一定率律:橢圓軌道

9-4 同步衛星與極軸衛星:

9-5 轉動與進動:

9-6 飛輪之角動量守恆:

10.熱力學:

嘆為觀止,不想用拙劣的言詞污染畫面的美麗
10-1 壓縮氣體:

10-2 晶格:

11.光學:
11-1 凹面鏡平行光束聚焦:

11-2 凹面鏡成像:

11-3 都卜勒效應:

原程式碼參考於網路
11-4 RGB and HSV:

11-4-1 RGB 三原色座標

11-5 波的反射:

12.電磁學:
12-1 電力線:

12-2 磁力線:

12-3 電達:

12-4 帶電粒子在磁場中運動:

12-5 電磁波

12-6 波耳氫原子模型

12-6-1 氦原子(Z=2)

12-6-2 鋰原子 (Z=3)

12-6-3: 鈹原子(Z=4)

12-6-4 氖原子Z=10

13.專題製作:模擬書本的三種轉軸轉動
課程目標:國中生很喜歡轉課本,可以常轉課本的人大概都知道,課本有三個轉軸,其中兩個才可以穩定轉動,如果以最長的邊轉動,很快就進入不穩定的轉動。
物理觀念:在剛體轉動中,如果轉軸固定,則可維持穩定轉動。因此我們必須用以上所學技巧去模擬剛體。解構問題,簡化問題,規劃變成可研究步驟,執行偵錯,是本專題的四大步驟。
13-0 從雙質點簡諧出發
13-0-1 另一種出發程式: 雙球簡諧
13-1 第一種:穩定轉動

13-2 第二種:穩定轉動

13-3 第三種:不穩定轉動

14.跨領域:
14-1 數學幾何:VMath:

14-2 找出共有幾塊


14-3 三視圖練習
14-3-1 簡單的立體圖,請畫出三視圖


14-3-2 簡單的立體圖,請畫出三視圖


15. 成為專家的第一步:讀VPython手冊

16.專題製作
OK Go @ VPhython
1.觀看 OK Go MV YOUTUBE “This Too Shall Pass”
2.找出有幾種連動裝置
3.用VPython寫出模擬程式