# 波的疊加
> 作者:王一哲
> 日期:2018/1/30
本次課程檔案已上傳至 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、角波數 k1 = 1.5 及 k2 = -1.5、波的位置 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 />
---
###### tags:`GeoGebra`