日期:2020/9/13
這是為了展示拋物面鏡反射的性質而製作的檔案,可以由左上角的數值滑桿調整入射光與主軸的夾角 θ、入射光照射範圍 R、光線數量 N。本次課程檔案已上傳至 GeoGebraTube,可以線上操作或下載檔案。
拋物面鏡凹面反射
拋物面鏡凸面反射
凹面鏡繪圖步驟
- 新增數值拉桿定義入射光與主軸的夾角 θ、入射光照射範圍 R、光線數量 N。
θ = Slider(0°, 30°, 1°) R = Slider(1, 10, 1) N = Slider(2, 10, 1)
- 計算光線之間的距離 d。
d = R / (N - 1)
- 使用點工具於 x 軸上新增焦點 O 與準線通過的點 P。
- 畫出通過點 O、P 的直線 f 作為主軸,再畫出通過點 P 且與主軸垂直的準線 g,可以使用上方的工具列或是輸入以下的指令繪圖。
f = Line(O, P) g = PerpendicularLine(P, f)
- 畫出以點 O 作為焦點、以直線 g 作為準線的拋物線 c,可以使用上方的工具列或是輸入以下的指令繪圖。
c = Parabola(O, g)
- 新增入射光通過的點初位置 points。
points = Sequence(Point({-20, (-R) / 2 + d (i - 1)}), i, 1, N)
- 新增平行主軸的入射光 lines。
lines = Sequence(Line(Element(points, i), f), i, 1, N)
- 新增平行主軸入射光與拋物線的交點 inters。
inters = Sequence(Intersect(c, Element(lines, i)), i, 1, N)
- 旋轉入射光通過的點,調整入射光與主軸的夾角,旋轉後的點命名為 incpoints。
incpoints = Sequence(Rotate(Element(points, i), -θ, Element(inters, i)), i, 1, N)
- 畫出入射光 inclines。
inclines = Sequence(Ray(Element(inters, i), Element(incpoints, i)), i, 1, N)
- 於入射光與拋物線的交點畫出切線 tangents 及法線 norms。
tangents = Sequence(Tangent(Element(inters, i), c), i, 1, N) norms = Sequence(PerpendicularLine(Element(inters, i), Element(tangents, i)), i, 1, N)
- 畫出反射光 reflines。
reflines = Sequence(Reflect(Element(inclines, i), Element(norms, i)), i, 1, N)
拋物面鏡凹面反射繪圖步驟1 - 5
拋物面鏡凹面反射繪圖步驟6 - 8
拋物面鏡凹面反射繪圖步驟9 - 10
拋物面鏡凹面反射繪圖步驟11
拋物面鏡凹面反射
凸面鏡繪圖步驟
- 將前一個檔案另存新檔,將點 P 用拖曳到拋物線 c 的左側,再隱藏點 P 及準線。
- 新增反射光的延長線 reflines2。
reflines2 = Sequence(Line(Element(inters, i), Element(reflines, i)), i, 1, N)
拋物面鏡凸面反射繪圖步驟1
拋物面鏡凸面反射
相關指令的官方說明書
- 數值滑桿 https://wiki.geogebra.org/en/Slider_Command
- 直線 https://wiki.geogebra.org/en/Line_Command
- 垂直線 https://wiki.geogebra.org/en/PerpendicularLine_Command
- 拋物線 https://wiki.geogebra.org/en/Parabola_Command
- 序列 https://wiki.geogebra.org/en/Sequence_Command
- 點 https://wiki.geogebra.org/en/Point
- 元素 https://wiki.geogebra.org/en/Element_Command
- 交點 https://wiki.geogebra.org/en/Intersect_Command
- 旋轉 https://wiki.geogebra.org/en/Rotate_Command
- 射線 https://wiki.geogebra.org/en/Ray_Command
- 切線 https://wiki.geogebra.org/en/Tangent_Command
- 線對稱 https://wiki.geogebra.org/en/Reflect_Command
HackMD 版本連結:https://hackmd.io/@yizhewang/HyQWDXoVv
沒有留言:
張貼留言