# GeoGebra 教學 7:波的疊加及駐波動畫(匯出 gif 動態圖檔)
> 作者:王一哲
> 日期:2018/2/1
## 波的疊加
本次課程檔案已上傳至 GeoGebraTube,可以線上操作或下載檔案。
1. 波的疊加範例 指數 https://ggbm.at/tzJ8nfUb
2. 波的疊加範例 三角 https://ggbm.at/DbTJfWNu
3. 波的疊加範例 半圓 https://ggbm.at/QHV5rxb2
<br />
<img height="80%" width="80%" src="https://lh3.googleusercontent.com/toC8S9KhIUX2VHIRmGgeKGiNF5fMrYKUYCnDZ-d5yiQofzi2xvTbRrdWx09FGKCwjN-fbFYGLbYcdFZaSdcBknes7xDYyp0J9crHPmRF7lQeJ1YPnW-3zRjhGtDNqlbWvY3Kkg4t" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">用 Scilab 製作的波的疊加動畫</div>
<br />
### 用指數及正弦製造的脈衝
1. 仿照前一篇文章的方法,插入控制時間 t 的數值拉桿。
2. 設定以下的變數值:波速 v = 1、波的位置 x1 = 0 + vt 及 x2 = 6 - vt。
3. 用以下指令設定函數,其中 g(x) 要乘上係數 23.14 是為了使 f(x) 和 g(x) 的最大值較為一致。
```latex
f(x) = If(x1 <= x <= x1 + π, sin(x - x1)*exp(x - x1))
g(x) = If(x2 <= x <= x2 + π, 23.14*sin(x - x2)*exp(-x + x2))
h(x) = f(x) + g(x)
```
4. 設定時間 t 的屬性,最小值 0,最大值 6,增量 0.01,動畫速度 2、重複設為遞增,如果設為來回反覆會看到波倒著跑的奇怪畫面。
5. 開始動畫。
<img height="80%" width="80%" src="https://lh6.googleusercontent.com/uM5kMqjksecVMTMsP7j3HLpQpchRxeqPae4utsbu08ZUdX1a_D7Z1uf0-5xzskiMqcbOMJye2w6D8UkB2nFdIViK9u-MT7d8xr9k2Ry4yT2rlfPAgSKkd1u3a04fPc4ajbJZdTeR" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">時間屬性視窗</div>
<br />
<img height="80%" width="80%" src="https://lh4.googleusercontent.com/AIdgW-9iIyippgHSpZ44RAL6wHfVoajc56FONuV2rrGkM6JKBywPrZ0alyiOMUQpmF0QdCWi1a_WYdyDS63ae1ZvRPv3EQEAIYIkSjnvDYu913XBp3YbqKdAuGY8Wv0NGjbSYECS" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">用指數和正弦製造的脈衝,紅色向右前進,綠色向左前進,藍色為疊加結果。</div>
<br />
<img height="100%" width="100%" src="https://upload.cc/i1/2019/04/08/Jmilft.gif" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">脈衝疊加動畫</div>
<br />
### 用線段製造的三角形脈衝
1. 仿照前一個圖形作法,插入控制時間 t 的數值拉桿。
2. 設定以下的變數值:波速 v = 10、斜率 k1 = 1 及 k2 = 1.5、波的峰值位置 x1 = -6 + vt 及 x2 = 6 - vt、寬度 w = 2。
3. 用以下指令設定函數,其中f(x)、g(x) 兩側的斜率及寬度不同,較斜的一側為波的前方。
```latex
f(x) = If(x1 - 2*w <= x <= x1, 0.5*k1 (x - (x1 - 2*w)),
If(x1 <= x <= x1 + w, -k1 *(x - (x1 + w))))
g(x) = If(x2 - w <= x <= x2, k2*(x - (x2 - w)),
If(x2 <= x <= x2 + 2*w, -0.5*k2 *(x - (x2 + 2*w))))
h(x) = f(x) + g(x)
```
4. 設定時間 t 的屬性,最小值 0,最大值 1.2,增量 0.01,動畫速度 2、重複設為遞增,如果設為來回反覆會看到波倒著跑的奇怪畫面。
5. 開始動畫。
<img height="80%" width="80%" src="https://lh6.googleusercontent.com/mK6OagRDKN8SZObY5W233V9Eg7HauFX4lOMnphSMbPAO0qttOYzte4bzZnUZerkVeEXbrrRW1uo7c512oTMgp1WOHPkDBNQx0PLSVb6Fud02CQNoWdwguNj83GZMHWfc3kTY_4tb" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">用線段製造的三角形脈衝,紅色向右前進,綠色向左前進,藍色為疊加結果。</div>
<br />
<img height="100%" width="100%" src="https://upload.cc/i1/2019/04/08/xoT8Q3.gif" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">三角形脈衝疊加動畫</div>
<br />
### 奇怪的半圓形脈衝
步驟如下:
1. 仿照前一個圖形作法,插入控制時間 t 的數值拉桿。
2. 設定以下的變數值:波速 v = 10、半徑 r1 = 2 及 r2 = 2、波的前端圓心位置 x1 = -5 + vt 及 x2 = 5 - vt。
3. 用以下指令設定函數
```latex
f(x) = If(x1 - r1 < x < x1 + r1, sqrt(r1**2 - (x - x1)**2),
If(x1 - 2*r1 < x < x1 - r1, 0,
If(x1 - 4*r1 < x < x1 - 2*r1,
-sqrt(r1**2 - (x - x1 + 3*r1)**2))))
g(x) = If(x2 - r2 < x < x2 + r2, -sqrt(r2**2 - (x - x2)**2),
If(x2 + r2 < x < x2 + 2*r2, 0,
If(x2 + 2*r2 < x < x1 + 4*r2,
sqrt(r2**2 - (x - x2 - 3*r2)**2))))
h(x) = f(x) + g(x)
```
4. 設定時間 t 的屬性,最小值 0,最大值 1.5,增量 0.01,動畫速度 2、重複設為遞增,如果設為來回反覆會看到波倒著跑的奇怪畫面。
5. 開始動畫。
<img height="80%" width="80%" src="https://lh6.googleusercontent.com/nrtBdW5O3b_CIk_LIEfm_EcKqXlRrNvRjRAcqfQYs8tvkGo7I-0X5Y8oYWaa3KhlGyYydSmcbiSHTtq8izIS2tETBGEXm6QhUC8XpI8aOqwg1VwMxsQdWBUFtI3nbD95O7cSH4PM" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">奇怪的半圓形脈衝,紅色向右前進,綠色向左前進,藍色為疊加結果。</div>
<br />
<img height="100%" width="100%" src="https://upload.cc/i1/2019/04/08/BXnqIC.gif" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">半圓形脈衝疊加動畫</div>
<br />
---
## 駐波
本次課程檔案已上傳至 GeoGebraTube,可以線上操作或下載檔案。
1. 駐波範例 兩端固定或自由 https://ggbm.at/HuMCDmbn
2. 駐波範例 一端固定一端自由 https://ggbm.at/X5z7ANaU
<br />
### 兩端皆為固定端或自由端
1. 插入控制整數 n 的數值拉桿,最小值1,最大值10,增加1。
2. 設定以下的變數值:振幅 A = 2、繩子長度 L = 10、週期 T = 2π、角頻率 ω = 2π / T、波長 λ = 2L / n,角波數 k = 2π / λ。
3. 插入控制相位差 δ 的數值拉桿,最小值0,最大值 2π,增加 π/2。
4. 插入控制時間 t 的數值拉桿,最小值0,最大值T,增加0.05,動畫速度2,重複設為遞增。
5. 用以下指令設定函數,當 δ = 0 時,兩端皆為固定端;當 δ = π/2 時,兩端皆為自由端。
```latex
f(x) = If(0 <= x <= L, A*sin(k*x - ω*t))
g(x) = If(0 <= x <= L, A*sin(k*x + ω*t + δ))
h(x) = f(x) + g(x)
```
6. 開始動畫。
<br />
<img height="100%" width="100%" src="https://lh3.googleusercontent.com/jGZ2iGxcmi8FT6w_FB8iTrbAtG607XzmzqOWtITBsLKfuWtz_8MLhh4nbEq70xCAs1zk4e5-EB0BORe5uJzNFi26P7j1Zgbsc0iWTstpSdWURghkMSMt0oYPM2FmgWMwmpTD2Us0" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">兩端皆為固定端、n = 1 的駐波</div>
<br />
### 一端固定一端自由
1. 插入控制整數 m 的數值拉桿,最小值1,最大值11,增加2。
2. 設定以下的變數值:振幅 A = 2、繩子長度 L = 10、週期 T = 2π、角頻率 ω = 2π / T、波長 λ = L / m,角波數 k = 2π / λ。
3. 插入控制相位差 δ 的數值拉桿,最小值0,最大值 2π,增加 π/2。
4. 插入控制時間 t 的數值拉桿,最小值0,最大值T,增加0.05,動畫速度2,重複設為遞增。
5. 用以下指令設定函數,當 δ = 0 時,左端為固定端,右端為自由端;當 δ = π/2 時,左端為自由端,右端為固定端。
```latex
f(x) = If(0 <= x <= L, A*sin(k*x - ω*t))
g(x) = If(0 <= x <= L, A*sin(k*x + ω*t + δ))
h(x) = f(x) + g(x)
```
6. 開始動畫。
<br />
<img height="100%" width="100%" src="https://lh5.googleusercontent.com/vlUcmMBqFKvBEWoGilN4N9ZizjA6zawPvhA9LhT6nC28qOo48Q_USn6xHQqKorreLNeSLD3uj2gZdRfT2oXSybiwsSsCRwmrwykWvnQAENZ3LlPgAweXZc2w1hVN5BT5L_4W1TZ3" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">左端為固定端、右端為自由端、m = 1 的駐波</div>
<br />
### 匯出為 gif 圖檔
1. 檔案 ⇒ 匯出 ⇒ 動態 GIF 檔
2. 在匯出動態 GIF 檔視窗中,選擇**滑桿 t**,**影格速率 100 ms**,勾選**循環播放**,按下**匯出**。
3. 匯出過程很花時間,等到 GeoGebra 檔又可以點選時代表圖檔終於匯出完畢。
<img height="70%" width="70%" src="https://lh6.googleusercontent.com/yfLcFbiNOXakdW2i6EH2C4yQI7U12ESUOvevNhQRrUnFymfm2PBLnHSws6ihYnrahBwOpG0urRCYJpaFVH5OX1UT--n2w97bC7QQrNULRsEicwpYQOOcVFA_KPMN3mnc7Q-rxYa7" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">匯出動態 GIF 檔選單</div>
<br />
<img height="40%" width="40%" src="https://lh6.googleusercontent.com/wTpNFMETkLItUewwBt2BjKigTNuCMGtsHzN9XQsMcejaq1HYtIY4NguVREhj-jLto_YmlOE-lW44NBpitzbJs9KnyeJRZPd98F-QjxIEHnQHiiV6Zo1-n1bMvj_JPHLXjKwnqUty" style="display: block; margin-left: auto; margin-right: auto;"/>
<div style="text-align:center">匯出動態 GIF 檔視窗</div>
<br />
---
###### tags:`GeoGebra`