---
# System prepended metadata

title: 拋物面鏡反射
tags: [GeoGebra]

---

# 拋物面鏡反射

> 作者：王一哲
> 日期：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`