極速數位工具箱 · 科學實驗
幾何光學與折射路徑模擬器
拖放光源、鏡子、透鏡、稜鏡與玻璃,用光線追跡觀察反射、折射、全反射與色散。顯示入射角、折射角與臨界角,透鏡成像可與公式比對。
拖曳元件移動位置,拖曳白色圓點旋轉。
聚焦畫面後:方向鍵移動選取的元件(按住 Shift 移動較多)、Q/E 旋轉 1°、Delete 刪除。比例尺為 10 公分。
透鏡成像(物體箭頭)
使用實正虛負慣例:1/d₀ + 1/dᵢ = 1/f;dᵢ 為負表示虛像(在物體同側)。放大率 m = −dᵢ/d₀,負值為倒立。
光線與介面(單光線、單色光)
加入「單光線」並選擇單色光,這裡會列出每次反射與折射的角度。
| # | 事件 | n₁ → n₂ | 入射角 θ₁ | 折射角 θ₂ | 臨界角 θc | |n₁sinθ₁ − n₂sinθ₂| |
|---|
公式驗證
用獨立場景重新追跡並與公式比較:司乃耳定律 n₁sinθ₁ = n₂sinθ₂、臨界角 θc = asin(n₂/n₁)、薄透鏡公式 1/d₀ + 1/dᵢ = 1/f 與放大率、稜鏡色散方向。
| 項目 | 理論值 | 追跡結果 | 誤差 | 結果 |
|---|
模型說明與限制
- 二維光線追跡:每條光線找最近的交界面;介質中依司乃耳定律折射,超過臨界角時全反射;部分反射依菲涅耳公式(非偏振平均)決定亮度。
- 色散使用柯西公式 n(λ) = A + B/λ²,以 589 nm(鈉 D 線)的折射率為基準;白光以 7 個波長代表。
- 透鏡為理想薄透鏡(無像差、無色散),所以成像與公式一致;凹凸面鏡為真實球面,邊緣光線會有球面像差。
- 折射介質不要互相重疊;長度單位為公分。
使用說明與常見問題
這個工具能做什麼
幾何光學實驗室是一個二維的光線追跡模擬器。你可以放上光源(單光線、平行光束、點光源、物體箭頭)、鏡子(平面鏡、凹面鏡、凸面鏡)、透鏡(凸透鏡、凹透鏡)和折射介質(稜鏡、矩形玻璃磚、半圓形玻璃),觀察光的反射、折射、全反射和色散,並讀出入射角、折射角、臨界角和透鏡成像的數據。
所有計算都在你的瀏覽器裡完成,不會上傳。
站長的話
我做的這些工具,有的是我平常會用的,有的是朋友的建議或我自己的想法。希望幾何光學實驗室能讓光線的路徑看得見、摸得著,也希望你會喜歡。
使用步驟
- 在「預設場景」選一個現成的場景:折射、全反射、稜鏡色散、凸透鏡成像、凹透鏡成像、凹面鏡聚焦,或空白。畫面上方的說明會告訴你這個場景在看什麼。
- 在「環境介質」選空氣(n = 1.000)或水(n = 1.333),整個場景會泡在這個介質裡。
- 在「加入元件」按按鈕加入光源、鏡子、透鏡或折射介質,最多 40 個元件。
- 拖曳元件移動位置,拖曳白色圓點旋轉。點選元件後,「選取的元件」會出現可以修改的數值,例如角度、光束寬度、光線數(1 到 72)、焦距 |f|(2 到 200 公分)、曲率半徑 R(5 到 300 公分)、折射率 n(1 到 3)和色散係數 B。光源可以選白光(7 色)或紅 650、黃 589、綠 532、藍 450 nm 的單色光;玻璃類元件可以選水、冕牌玻璃、火石玻璃、鑽石或自訂。
- 放一條「單光線」並選單色光,畫面下方的「光線與介面」表會列出每一次反射和折射:n₁ → n₂、入射角 θ₁、折射角 θ₂、臨界角 θc,以及司乃耳定律兩邊的差。
- 加入「物體(箭頭)」放在透鏡前,「透鏡成像」會顯示物距、焦距、像距和放大率。像距為負代表虛像,放大率為負代表倒立。
- 按「執行驗證」,程式會用獨立的場景重新追跡,並和公式比較:司乃耳定律、臨界角、薄透鏡公式與放大率,以及稜鏡色散的方向。
- 「場景檔案」的「↓ 匯出 JSON」會把場景存成 optics-scene.json,之後可用「↑ 匯入 JSON」載入。
適合的情境
- 上課示範折射、全反射,或讓學生自己轉動光源找出臨界角。
- 理解凸透鏡和凹透鏡成像:物體在不同距離時,像是實像還是虛像、正立還是倒立。
- 看稜鏡如何把白光分成不同顏色。
- 光學作業的驗算,或自己設計一個光路。
小技巧與限制
- 想看全反射,先載入「全反射:半圓形玻璃」場景:光線從玻璃射向空氣,入射角 48° 大於臨界角約 41.2°,所以整束光被反射回去。旋轉光源,看入射角小於臨界角時會發生什麼。
- 折射介質(稜鏡、玻璃磚、半圓形玻璃)請不要互相重疊,這是模型的限制。
- 透鏡是理想薄透鏡,沒有像差也沒有色散,所以成像會和公式完全一致;凹面鏡和凸面鏡是真實的球面,邊緣的光線會有球面像差,焦點會略為偏離。
- 色散用柯西公式 n(λ) = A + B/λ² 計算,白光以 7 個波長代表。折射率和色散係數越大,分得越開。
- 聚焦在畫面上後,方向鍵移動選取的元件(按住 Shift 移動較多)、Q 和 E 每次旋轉 1°、Delete 刪除。比例尺代表 10 公分。
- 場景不會自動保存,離開頁面就會回到預設。想保留請先匯出 JSON。
常見問題
臨界角是什麼?
光從折射率大的介質(例如玻璃)射向折射率小的介質(例如空氣)時,入射角超過某個角度,光就不會再折射出去,而是全部被反射回來,這個角度就是臨界角。公式是 θc = asin(n₂/n₁),畫面下方的表格會幫你算出來。
虛像是什麼意思?
虛像是光線實際上沒有交會、只是反向延長才交會的像,不能投在螢幕上。畫面中會用虛線畫出反向延長線,像距會顯示為負值。
為什麼白光會分成顏色?
因為玻璃對不同波長的折射率不一樣:波長越短,折射率越大,偏折越多。所以白光經過稜鏡,藍紫光偏折得比紅光多。
「顯示部分反射光」是什麼?
光在介面上通常一部分折射、一部分反射。勾選之後會畫出反射的那部分,亮度依菲涅耳公式決定;取消勾選可以讓畫面清爽一些。
這個模擬準確嗎?
它是二維的幾何光學模型:依司乃耳定律折射、依菲涅耳公式決定亮度,不包含繞射和干涉這類波動現象。想知道誤差,可以按「執行驗證」看模擬值和理論值的比較。