# 縱波示意圖
> 作者:王一哲
> 日期:2020/8/10
本次課程檔案已上傳至 [GeoGebraTube](https://www.geogebra.org/m/p2fs2xrq),可以線上操作或下載檔案。
<br />
## 原理
**縱波** (longitudinal wave) 又稱為**疏密波**,波的前進方向與介質振動方向平行,介質於平衡點附近來回振動,不會隨著波一起前進。通常我們會用很多的橫線表示介質所在的位置,藉此表現出介質疏密程度的變化。
<img height="60%" width="60%" src="https://upload.wikimedia.org/wikipedia/commons/6/62/Onde_compression_impulsion_1d_30_petit.gif" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">Wikipedia 的縱波示意圖動畫,圖片來源為<a href=" https://upload.wikimedia.org/wikipedia/commons/6/62/Onde_compression_impulsion_1d_30_petit.gif" target="_blank"> https://upload.wikimedia.org/wikipedia/commons/6/62/Onde_compression_impulsion_1d_30_petit.gif</a></div>
<br />
<img height="100%" width="100%" src="https://imgur.com/RIslw34.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/c3I2S29.gif" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">縱波示意圖動畫 (畫出平衡點)</div>
<br />
## 繪圖步驟
1. 於指令列中依序輸入以下指令定義數值
1. 振幅 A = 1
2. 週期 T = 2
3. 波長 λ = 4
4. 波的數量 N = 10
5. 每個波長裡面畫的線條數量 num = 16
6. 角波數 k = 2 * π / λ
7. 角頻率 ω = 2 * π / T
2. 於指令列中輸入以下指令新增數值拉桿定義時間 t。
```latex
t = Slider(0, T, 0.02*T)
```
3. 於指令列中輸入以下指令新增代表位移的函數圖。
```latex
displace = If(0 <= x <= N*λ, A*sin(k*x - ω*t))
```
4. 於指令列中輸入以下指令新增代表密度的函數圖。
```latex
density = If(0 <= x <= N*λ, A*sin(k*x - ω*t - π/2) - 3*A)
```
5. 於指令列中依序輸入以下指令繪製代表縱波的線段。
```latex
subs = Sequence(Point({λ/num*i + 0.4*A*sin(k*λ/num*i - ω*t), 2*A}), i, 0, N*num)
uppers = Sequence(Point({x(subs(i)), 4*A}), i, 1, N*num + 1)
wave = Sequence(Segment(subs(i), uppers(i)), i, 1, N*num + 1)
```
6. 於指令列中依序輸入以下指令繪製代表介質平衡位置的線段。
```latex
subs_2 = Sequence(Point({λ/num*i, 2*A}), i, 0, N*num)
uppers_2 = Sequence(Point({λ/num*i, 4*A}), i, 0, N*num)
equilibrium = Sequence(Segment(subs_2(i), uppers_2(i)), i, 1, num*N + 1)
```
7. 新增**勾選框**,用來控制是否顯示平衡位置。
<img height="50%" width="50%" src="https://imgur.com/c3I2S29.png" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">新增勾選框</div>
<br />
8. 用文字工具加上說明。
<img height="100%" width="100%" src="https://imgur.com/c3I2S29.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/If
3. 序列 https://wiki.geogebra.org/en/Sequence_Command
4. 點 https://wiki.geogebra.org/en/Point_Command
5. 線段 https://wiki.geogebra.org/en/Segment
<br />
---
###### tags:`GeoGebra`