# 中和高中108學年第1學期多元選修Python物理模擬課程計畫 > Ver. 1: 2019/8/14 > Ver. 2: 2019/10/7 終端速度改為2週的課程,刪除原訂於第11週的單擺 > Ver. 3: 2019/11/8 使用For迴圈計算水平抛射資料改為2週的課程,刪除原訂於第12週的重力與簡諧運動 ## 基本資料 * 課程中文名稱:Python物理模擬 * 課程英文名稱:Physics Simulations in Python * 授課教師:王一哲 yizhe@mail2.chshs.ntpc.edu.tw * 授課年段:高二 * 學分數:1 * 學習目標 1. 學生能學習分析物理問題及建模的方法。 2. 學生能利用程式語言描述物件遵守的物理定律。 3. 學生能將模擬程式產生的數據匯出、作圖,並與實驗數據相互對照。 <br /> ## 教學大綱 ### 第1週:安裝及測試 VPython **引起動機** VPython 是Python的視覺化模擬套件,很適合用來模擬物理問題。 **活動** 於電腦上安裝Python及VPython套件,並以教師提供的範例程式測試套件是否已經正確安裝。 **統整與總結** 於這堂課中學生需要學會使用pip或pip3指令安裝套件。 <br/> ### 第2週:Python基本語法 **引起動機** 在開始寫物理模擬程式之前,需要先學習常用的基本語法。 **活動** 學習使用if、elif、else、for、while控制程式,並用print輸出文字或數值。 **統整與總結** 撰寫講義上問題對應的程式碼,並上傳到教學網站中。 <br/> ### 第3週:等速度直線運動 **引起動機** 從最單純的等速度直線運動開始製作模擬動畫,不涉及複雜的數學計算。 **活動** 畫出木塊、地板以及木塊的 x-t 圖、 v-t 圖 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第4週:自由落下 **引起動機** 以學生在高一學到的自由落下為例,讓學生將模擬動畫與過去所學的知識互相對照。 **活動** 將物體加上重力的作用,畫出小球從某個高度往下加速落到地板上,並畫出小球的y-t圖、v-t圖。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第5、6週:終端速度 **引起動機** 延續上一堂課的程式,探討小球如果受到空氣阻力作用時運動狀態有何變化。 **活動** 當小球從高空落下時,同時受到重力及空氣阻力的作用,試著找出小球的運動過程及終端速度,同時將得到的資料存成文字檔。 **統整與總結** 將產生的數據利用SciDAVis或是類似的軟體作圖,並將圖片上傳到教學網站中。 <br/> ### 第7週:水平抛射 **引起動機** 以高二上物理第二章的水平拋射為例,觀察程式模擬與理論預測是否相符。 **活動** 將一個小球由高度h處以水平初速v0抛出,小球受到重力作用向下加速,畫出在不同條件下小球運動的過程。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第8、9週:使用For迴圈計算水平抛射資料 **引起動機** 延續上一堂課的程式,再利用for迴圈改變起始條件。 **活動** 利用for 迴圈自動代入不同的高度h並記錄水平射程R,同時將得到的資料存成文字檔。 **統整與總結** 將產生的數據利用SciDAVis或是類似的軟體作圖,並將圖片上傳到教學網站中。 <br/> ### 第10週:斜向抛射 **引起動機** 以高二上物理第二章的斜向拋射為例,觀察程式模擬與理論預測是否相符。 **活動** 將一個小球由地面以初速 v0、仰角𝜃抛出,小球受到重力作用向下加速,計算小球的飛行時間t及水平射程R。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中 <br/> ### 第11週:圓周運動 **引起動機** 以高二上物理第五章的圓周運動為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出水平面上的等速率圓周運動。進階活動:畫出鉛直面圓周運動並計算週期。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第12週:簡諧運動 **引起動機** 以高二上物理第五章的簡諧運動為例,觀察程式模擬與理論預測是否相符。 **活動** 畫出水平面上的彈簧、木塊系統,讓木塊受到彈簧回復力的作用開始做簡諧運動。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第13週:行星運動1 **引起動機** 以克卜勒行星運動定律為例,將天體的實際數據代入程式模擬中,觀察模擬結果與理論預測是否相符。 **活動** 1. 自訂星球速度、距離, 可更改萬有引力定律中 r的次方,驗證克卜勒第一行星運動定律。 2. 用dictionary儲存星球資料,驗證克卜勒第二、第三行星運動定律。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第14週:行星運動2 **引起動機** 延續上一堂課的程式,使用不同的方式產生物件。 **活動** 1. 用dictionary儲存星球資料,用class 產生行星,驗證克卜勒第二、第三行星運動定律。 2. 用平均軌道半徑為1:4或1:1的行星,驗證克卜勒第三行星運動定律 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第15週:重力場及電場 **引起動機** 如何用較為具體的方式,表示抽象的重力場強度及方向。 **活動** 在空間中每隔一段距離取一個點,以箭頭的長度及方向來表示該點的重力場。如果學生可以畫出一個星球產生的重力場,可以進一步挑戰繪製兩個星球產生的重力場。 **統整與總結** 將產生的模擬動畫截圖並上傳到教學網站中。 <br/> ### 第16週:成果發表1 **引起動機** 各組以一個物理課本當中的例子為主題設計模擬動畫並上台發表。 **活動** 每組上台報告,分享自行撰寫的程式碼運作流程及成果,每組發表10分鐘,同學及教師回饋5分鐘,所有同學皆須在互評表上為其它組別評分。 **統整與總結** 各組皆要上傳程式碼及書面報告電子檔,並於課程結束時繳交互評表。 <br/> ### 第17週:成果發表2 **引起動機** 各組以一個物理課本當中的例子為主題設計模擬動畫並上台發表。 **活動** 每組上台報告,分享自行撰寫的程式碼運作流程及成果,每組發表10分鐘,同學及教師回饋5分鐘,所有同學皆須在互評表上為其它組別評分。 **統整與總結** 各組皆要上傳程式碼及書面報告電子檔,並於課程結束時繳交互評表。 <br/> ## 多元選修行事曆 <img height="100%" width="100%" src="https://upload.cc/i1/2019/08/30/Bk2rw1.png" style="display: block; margin-left: auto; margin-right: auto;"/> <img height="100%" width="100%" src="https://upload.cc/i1/2019/08/30/rHtJ3y.png" style="display: block; margin-left: auto; margin-right: auto;"/> --- ###### tags:`課程`、`VPython`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.