# 拋物面鏡反射 > 作者:王一哲 > 日期:2020/9/13 這是為了展示拋物面鏡反射的性質而製作的檔案,可以由左上角的數值滑桿調整入射光與主軸的夾角 θ、入射光照射範圍 R、光線數量 N。本次課程檔案已上傳至 GeoGebraTube,可以線上操作或下載檔案。 - [拋物面鏡凹面反射](https://www.geogebra.org/m/pg7qpvah) - [拋物面鏡凸面反射](https://www.geogebra.org/m/qcqyq8ma) <img height="100%" width="100%" src="https://imgur.com/WUbGZm6.gif" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凹面反射</div> <br /> <img height="100%" width="100%" src="https://imgur.com/yFXCYdD.gif" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凸面反射</div> <br /> ## 凹面鏡繪圖步驟 1. 新增數值拉桿定義入射光與主軸的夾角 θ、入射光照射範圍 R、光線數量 N。 ```latex θ = Slider(0°, 30°, 1°) R = Slider(1, 10, 1) N = Slider(2, 10, 1) ``` 2. 計算光線之間的距離 d。 ```latex d = R / (N - 1) ``` 3. 使用點工具於 x 軸上新增焦點 O 與準線通過的點 P。 4. 畫出通過點 O、P 的直線 f 作為主軸,再畫出通過點 P 且與主軸垂直的準線 g,可以使用上方的工具列或是輸入以下的指令繪圖。 ```latex f = Line(O, P) g = PerpendicularLine(P, f) ``` 5. 畫出以點 O 作為焦點、以直線 g 作為準線的拋物線 c,可以使用上方的工具列或是輸入以下的指令繪圖。 ```latex c = Parabola(O, g) ``` <img height="100%" width="100%" src="https://imgur.com/S5ANbfO.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凹面反射繪圖步驟1 - 5</div> <br /> 6. 新增入射光通過的點初位置 points。 ```latex points = Sequence(Point({-20, (-R) / 2 + d (i - 1)}), i, 1, N) ``` 7. 新增平行主軸的入射光 lines。 ```latex lines = Sequence(Line(Element(points, i), f), i, 1, N) ``` 8. 新增平行主軸入射光與拋物線的交點 inters。 ```latex inters = Sequence(Intersect(c, Element(lines, i)), i, 1, N) ``` <img height="100%" width="100%" src="https://imgur.com/P0qd3G1.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凹面反射繪圖步驟6 - 8</div> <br /> 9. 旋轉入射光通過的點,調整入射光與主軸的夾角,旋轉後的點命名為 incpoints。 ```latex incpoints = Sequence(Rotate(Element(points, i), -θ, Element(inters, i)), i, 1, N) ``` 10. 畫出入射光 inclines。 ```latex inclines = Sequence(Ray(Element(inters, i), Element(incpoints, i)), i, 1, N) ``` <img height="100%" width="100%" src="https://imgur.com/hDJA1bn.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凹面反射繪圖步驟9 - 10</div> <br /> 11. 於入射光與拋物線的交點畫出切線 tangents 及法線 norms。 ```latex tangents = Sequence(Tangent(Element(inters, i), c), i, 1, N) norms = Sequence(PerpendicularLine(Element(inters, i), Element(tangents, i)), i, 1, N) ``` <img height="100%" width="100%" src="https://imgur.com/acsLdTm.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凹面反射繪圖步驟11</div> <br /> 12. 畫出反射光 reflines。 ```latex reflines = Sequence(Reflect(Element(inclines, i), Element(norms, i)), i, 1, N) ``` <img height="100%" width="100%" src="https://imgur.com/WUbGZm6.gif" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凹面反射</div> <br /> ## 凸面鏡繪圖步驟 1. 將前一個檔案另存新檔,將點 P 用拖曳到拋物線 c 的左側,再隱藏點 P 及準線。 <img height="100%" width="100%" src="https://imgur.com/KfB2ueg.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凸面反射繪圖步驟1</div> <br /> 2. 新增反射光的延長線 reflines2。 ```latex reflines2 = Sequence(Line(Element(inters, i), Element(reflines, i)), i, 1, N) ``` <img height="100%" width="100%" src="https://imgur.com/yFXCYdD.gif" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">拋物面鏡凸面反射</div> <br /> ## 相關指令的官方說明書 1. 數值滑桿 https://wiki.geogebra.org/en/Slider_Command 2. 直線 https://wiki.geogebra.org/en/Line_Command 3. 垂直線 https://wiki.geogebra.org/en/PerpendicularLine_Command 4. 拋物線 https://wiki.geogebra.org/en/Parabola_Command 5. 序列 https://wiki.geogebra.org/en/Sequence_Command 6. 點 https://wiki.geogebra.org/en/Point 7. 元素 https://wiki.geogebra.org/en/Element_Command 8. 交點 https://wiki.geogebra.org/en/Intersect_Command 9. 旋轉 https://wiki.geogebra.org/en/Rotate_Command 10. 射線 https://wiki.geogebra.org/en/Ray_Command 11. 切線 https://wiki.geogebra.org/en/Tangent_Command 12. 線對稱 https://wiki.geogebra.org/en/Reflect_Command <br /> --- ###### tags:`GeoGebra`