置頂

我的 VPython 教學文件 (HackMD 版本)

VPython 教學文件目錄 安裝及測試 基本語法 等速度直線運動 自由落下 終端速度 水平抛射 使用For迴圈計算水平抛射資料 斜向抛射 圓周運動 簡諧運動 單擺 木塊彈簧系統分離 重力及簡諧 行星運動 相疊木塊 雙重簡諧運動 一維彈性碰撞 ...

熱門文章

2022年1月24日 星期一

111學測自然科物理試題解析

作者:王一哲
日期:2022/1/22



第壹部分、選擇題



1-2題為題組

圖1為某颱風中心在21~26日的行進及預測路徑。假設颱風可視為固定質量的質點,地球轉動對颱風行進路徑的影響可忽略不計,颱風行進路徑在同一水平面上,且颱風沿預測路徑持續前進不折返。依據上述與圖1回答1-2題。
圖1

  1. 已知此颱風在21日14時的暴風半徑為180公里,如白色圓圈所示。試以預測路徑估算自21日14時至22日02時之間,颱風移動的平均時速量值約多少公里?
    (A) 5   (B) 10   (C) 20   (D) 30   (E) 40
答案:B
層次:應用
難度:易
章節:物體的運動
詳解:用尺可於圖1測得暴風半徑在圖上的長度約為 5 mm,而量21日14時至22日02時颱風中心移動的距離在圖上約為 4 mm,實際移動的距離約為 $$ d = 180 \times \frac{4}{5} = 144 ~\mathrm{km} $$ 共經過12小時,因此颱風移動的平均時速量值 $$ v = \frac{d}{t} = \frac{144}{12} = 12 ~\mathrm{km/h} $$ 最接近的選項為B。

  1. 已知此颱風在22日02時至23日14時之間,以等速率移動,但方向持續改變,之後朝北北西的方向維持直線前進,則下列敘述哪些正確?(應選2項)
    (A) 22日02時至23日14時之間,颱風在路徑上各點位置所受合力為零
    (B) 22日02時至23日14時之間,颱風在路徑上各點位置所受合力方向與速度方向垂直
    (C) 23日14時之後,颱風恆以等速度前進
    (D) 23日14時之後,颱風在各點位置所受合力都為零
    (E) 24日14時至26日14時之間,颱風所受的平均合力方向與速度方向相反
答案:BE
層次:應用
難度:中
章節:物體的運動
詳解: A 錯誤、B 正確,颱風改變移動的方向,需要受到與速度方向垂直的作用力。
C 錯誤、D 錯誤、E 正確,25日14時至26日14時颱風移動速度變慢,颱風受到與速度方向相反的作用力。


2021年11月9日 星期二

使用 Microsoft Excel 繪製帶有誤差槓的 XY 散布圖

作者:王一哲
日期:2021/11/9



前言



這是配合本校探究與實作B課程活動紙製直升機而寫的講義,以下的實驗數據是以紙製直升機的質量 m 作為操作變因、滯空時間 t 作為應變變因,其中 m 取了 5 個不同的數值,測量 t 各 20 次。測試的環境為 Windows 10 家用版,軟體為 Office 365 Excel。

t - m 關係圖



開啟空白活頁簿,在各欄位中輸入資料,可以利用凍結視窗的功能,凍結A欄及第1列,這樣檢視資料時會比較方便。
於活頁簿中輸入資料


在儲存格 V2 按 = ,輸入公式 AVERAGE(B2:U2) 計算時間的平均值 tavg (s);在儲存格 V2 按 = ,輸入公式 STDEV(B2:U2)/SQRT(COUNT(B2:U2)) 計算時間的 A 類不確定度 ut (s);再利用自動填滿的功能計算儲存格 V3 到 W6 對應的資料。
計算時間平均值及 A 類不確定度


選取儲存格 A1 到 A6 以及 V1 到 V6,插入只有數據點的 XY 散布圖。
插入只有數據點的 XY 散布圖

只有數據點的 t - m 關係圖


2021年10月23日 星期六

移除試算表中重複的資料(使用 LibreOffice Calc、Google Sheets、Microsoft Excel)

作者:王一哲
日期:2021/10/23


前言


當我們使用試算表軟體處理大量的資料時,如果要手動找出並移除重複的資料,不但要花費很多的時間,甚至有可能會漏掉一些重複的資料。其實在 LibreOffice Calc、Google Sheets、Microsoft Excel 都有內建的工具可以處理,以下是這些工具的使用方法。

LibreOffice Calc


測試的作業系統為 Linux Mint 20.1 Ulyssa,LibreOffice 版本為 7.1.5.2,測試用的資料是從環保署環境資料開放平臺下載的土城空氣品質測站一氧化碳濃度月值資料。下圖是將資料以 csv 檔格式匯入後的樣子。
將資料𠥔入 LibreOffice Calc


使用預設的篩選工具


於工具列中依序點選資料 ⇒ 更多篩選 ⇒ 標準篩選。
資料 ⇒ 更多篩選 ⇒ 標準篩選


2021年8月11日 星期三

GeoGebra Classic 5 & 6 匯出 gif 檔

作者:王一哲
日期:2021/8/11


前言


昨天有同事問我,為什麼在 GeoGebra Classic 找不到匯出成 gif 檔的選項,搜尋之後才發現這個功能在 GeoGebra Classic 5 可以從選單找到,但是在 GeoGebra Classic 6 卻要用指令才行。以下用一個簡單的正弦波動畫作為例子,測試的作業系統為 Linux Mint 20.1 Ulyssa,GeoGebra 版本為 GeoGebra-Linux64-Portable-6-0-657-0 以及 GeoGebra-Linux-Portable-5-0-657-0。

GeoGebra Classic 6


首先用以下指令畫出向右移動的正弦波,數值滑桿 t 的動畫速度設定為 4、重複模式為遞增。
T = 2
ω = 2*π/T
t = Slider(0, T, 0.05*T)
f(x) = If(x >= 0, sin(x - ω*t))

GeoGebra Classic 6:正弦波


2021年8月9日 星期一

內旋輪線

作者:王一哲
日期:2021/8/9


前言


小時候有一種玩具,將一個小的圓板放在一個大的圓內側,接著用原子筆插在小圓板的某個洞中,用力地將小圓板貼著大圓內側轉動就可以畫出很複雜的圖案,這個玩具的名稱是萬花尺 (spirograph)。
萬花尺(圖片來源:https://upload.wikimedia.org/wikipedia/commons/2/24/Spirograph.jpg)

萬花尺應用到的數學原理名為內旋輪線 (hypotrochoid),以下是它的參數式。 $$ x(\theta) = (R-r) \cos \theta + d \cos \left( \frac{R-r}{r} \theta \right) $$ $$ y(\theta) = (R-r) \sin \theta - d \sin \left( \frac{R-r}{r} \theta \right) $$
以下是從維基百科上找到的例子,我們接下來試著用 GeoGebra 畫出同樣的圖。
內旋輪線動畫,R = 5,r = 3,d = 5(圖片來源:https://upload.wikimedia.org/wikipedia/commons/f/fa/HypotrochoidOutThreeFifths.gif)

內旋輪線動畫,R = 10,r = 5,d = 1,圖西對 (Tusi couple)(圖片來源:https://upload.wikimedia.org/wikipedia/commons/5/5c/Ellipse_as_hypotrochoid.gif)


2021年7月31日 星期六

安裝 GFortran 使用 Fortran 程式讀取、寫入 csv 檔

作者:王一哲
日期:2021/7/31


前言


我之前幾乎沒有寫過 Fortran,這次為了幫某人擺脫需要花錢購買的 Visual Fortran,我只好從零開始學 Fortran,並且試試看是否能用 GFortran 編譯他們實驗室需要的程式碼,由 csv 檔讀取資料經過一些運算後再儲存成另一個 csv 檔,以下是我測試的筆記。


於 Ubuntu 安裝 GFortran


我使用的作業系統是 Ubuntu 20.04.2 LTS,只要在文字界面中執行以下指令即可安裝 GFortran。
sudo apt install gfortran-10

安裝完畢之後可以用以下指令查詢安裝的版本,我安裝的版本是 10.3.0。
gfortran-10 --version

建立一個測試用的資料夾,於資料夾中用文字編輯器將以下內容儲存成 hello.f95。
program hello
    write(*, *) 'Hello World!'
    write(*, *) '哈囉世界!'
stop
end program hello

用以下指令將 hello.f95 編譯成執行檔再執行檔案。
gfortran-10 -o hello hello.f95
./hello

如果螢幕輸出以下文字就成功了。
 Hello World!
 哈囉世界!



2021年7月20日 星期二

使用 Pandas 從網頁讀取衛星軌道資料並儲存成 csv 檔

作者:王一哲
日期:2021/7/20


前言


我以前寫過一篇關於克卜勒第三行星運動定律的文章,為了將各行星的衛星資料整理成可用的 csv 檔,當時是將表格複製到 LibreOffice Calc 裡面再手動整理,但是使用 Pandas 可以更自動化,以下是我試出來的方法。


程式碼


為了避免找不到儲存後的 csv 檔案,建議於 Python Shell 中用以下指令查詢目前所在的路徑。
import os
os.getcwd()
如果使用 Python 預設的 IDLE,在 Windows 10 預設的路徑是
C:\Users\[UserName]\AppData\Local\Programs\Python\[PythonXX]
在 Ubuntu 預設的路徑是
/home/[UserName]
如果在 Windows 10 可以用以下指令將路徑切換到桌面
os.chdir("C:\\Users\\[UserName]\\Desktop")

接下來從 Jovian Satellite Fact Sheet 網頁的表格中取得木星衛星軌道資料,在網頁上點擊滑鼠右鍵檢視網頁原始碼,於原始碼中搜尋table class會看到有兩個表格,名稱分別為 bulk 及 orbital,我們需要的是衛星軌道資料,因此讀取時需要加上 attrs={'class':'orbital'};為了將最上面的列當作欄位標題,需要加上 header=0。
import pandas as pd
table = pd.read_html('https://nssdc.gsfc.nasa.gov/planetary/factsheet/joviansatfact.html', attrs={'class':'orbital'}, header=0)

2021年7月13日 星期二

於 Linux Mint 將光碟複製成光碟映像檔

日期:2021/7/13
作者:王一哲


前言


由於某些出版社目前仍然將教學資源電子檔放在光碟片內,但是我的筆電又沒有內建光碟機,如果需要用到這些電子檔時又要外接光碟機,如果找不到光碟機或光碟片就麻煩了。為了避免發生這種問題,將光碟片複製成光碟映像檔並於在隨身碟或是雲端硬碟裡會比較方便。我以前是用燒錄軟體複製光碟片,今天才發現原來在 Linux Mint 裡有內建的工具能用,不需要另外安裝軟體。


操作方式


我使用的作業系統為Linux Mint 20.1 Ulyssa,圖形化界面為 xfce4-panel 4.14.3。首先在左下角的開始選單搜尋 disk,點選磁碟。
搜尋 disk


進到磁碟工具,從左側的清單中點選已經掛載的光碟,再依序點選右上角三個點的圖示 ⇒ 建立磁碟映像檔。
建立磁碟映像檔


2021年7月7日 星期三

於 Ubuntu 安裝 Line Chrome 擴充功能並建立捷徑

日期:2021/7/7
作者:王一哲


前言


我一開始是參考這篇文章〈在 Linux 上讓 Chrome 的 Line 擴充元件當作獨立運作程式執行〉,也在 Linux Mint 上成功地建立了快速啟動的按鈕,但是同樣的方法到了 Ubuntu 20.04 搭配 Gnome 3.36.8 卻無法使用,只會開啟 Chrome 瀏覽器並進到 chrome://extensions/ 分頁。經過一個下午的測試之後我終於找到一個可以成功運作的方法,以下是我的筆記。


安裝軟體並建立捷徑


首先,於文字界面中輸入以下指令安裝開放原始碼版本的 Chromium,目前自動安裝的版本是 91.0.4472.114。
sudo apt install chromium-browser

開啟 chromium-browser,進入 Chrome 線上應用程式商店,搜尋 Line 並安裝擴充功能。
Chromium

Chrome 線上應用程式商店


2021年6月24日 星期四

於 Google 表單中插入數學式子

作者:王一哲
日期:2021/6/24


前言


最近為了要讓學生可以進行線上測驗,但是我又不想使用出版社的系統,因此我只能想辦法把物理考卷變成 Google 表單。由於物理考卷的題目及答案經常會用到數學式子,而且目前 Google 表單只能使用文字及圖片,我必須將數學式子轉成圖片才行,有幾個 Google Chrome 擴充功能可以做到這個效果,例如 以下是我使用第一個工具的筆記。


安裝擴充功能並應用於 Google 表單


開啟線上應用程式商店,於左上角的格子中輸入 LaTeX 並搜尋擴充功能,於搜尋結果中找到適用於Google Chrome™的Latex數學公式或是直接點選這個超連結,再點擊右上角的加到 Chrome。
線上應用程式商店搜尋結果

適用於Google Chrome™的Latex數學公式