熱門文章

2019年10月26日 星期六

都卜勒效應及震波示意圖

作者:王一哲
日期:2019/10/25

本次課程檔案已上傳至 GeoGebraTube,可以線上操作或下載檔案。



原理


假設波源發出的聲波頻率為 $f_0$,空氣中的聲速為 $v$,波源以速度 $v_S$ 接近靜止的觀察者時,由於聲波的波長被壓縮,但空氣中的聲速不變,因此觀測到的聲波頻率會變為

$$f = \frac{v}{v-v_S} f_0$$

若波源以速度 $v_S$ 遠離靜止的觀察者時,由於聲波的波長被拉長,但空氣中的聲速不變,因此觀測到的聲波頻率會變為

$$f = \frac{v}{v+v_S} f_0$$


都卜勒效應示意圖動畫 (波源移動速度為0.6倍聲速)





當波源移動速度大於空氣中的聲速時,聲波會疊加在一起形成震波,下圖中的 $\theta$ 為馬赫角,藍色的直角三角形斜邊為波源移動的距離,$\theta$ 的對邊為聲波前進的距離,因此

$$\sin \theta = \frac{v}{v_S}$$

震波示意圖 (波源移動速度為2倍聲速)

震波示意圖動畫 (波源移動速度為2倍聲速)


繪圖步驟


  1. 於指令列中依序輸入以下指令定義數值 v、λ、period。
  2. v = 1
    λ = 1
    period = λ / v
    
  3. 於指令列中依序輸入以下指令新增數值拉桿,定義波源移動速度與波速的比值 ratio 與時間 t。
  4. ratio = Slider(0, 2, 0.1)
    t = Slider(0, 10*period, 0.02*period)
    
  5. 定義當時要畫出的波源及聲波數量 num,再畫出波源與代表聲波用的圓形。
  6. num = floor(t / period)
    sources = Sequence((0 + i*ratio*v, 0), i, 0, num, 1)
    waves = Sequence(Circle(sources(i + 1), v*(t - period*i)), i, 0, num, 1)
    
  7. 由於我想把現在的波源位置標出來,因此在最右側再畫一個點並調整成不同的顏色。
  8. source = Point({0 + ratio*v*t, 0})
    
  9. 當 ratio > 1 時,可以畫出通過點 source 並於圓形 waves 相切的切線,指令為
    Tangent(source, waves(num))
    
    假設兩條切線被命名為 f 和 g ,再畫出通過第1個波源位置並與 f 垂直的直線 h
    h = PerpendicularLine(sources(1), f)
    
    畫出 h 和 f 的交點 A
    A = Intersect(h, f)
    
    計算馬赫角的正弦值
    sin_{angle} = sin(Angle(A, source, sources(1)))
    
  10. 用文字工具加上說明,內容為
  11. 0 ≤ ratio < 1:   Doppler effect (moving source)
    ratio > 1:  Shockwave
    \sin_{angle} = \frac{1}{ratio} = 物件[sin_{angle}]
    


文字工具





相關指令的官方說明書


  1. 數值滑桿 https://wiki.geogebra.org/en/Slider_Command
  2. 序列 https://wiki.geogebra.org/en/Sequence_Command
  3. https://wiki.geogebra.org/en/Point_Command
  4. https://wiki.geogebra.org/en/Circle_Command
  5. 切線 https://wiki.geogebra.org/en/Tangent_Command
  6. 垂直線 https://wiki.geogebra.org/en/PerpendicularLine_Command
  7. 交點 https://wiki.geogebra.org/en/Intersect_Command
  8. 角度 https://wiki.geogebra.org/en/Angle_Command





HackMD 版本連結:https://hackmd.io/@yizhewang/SyrusFx9r

沒有留言:

張貼留言