Zjawiska akustyczne

O scenariuszu

Materiał przedstawiony poniżej może być zrealizowany podczas 2 godzin lekcyjnych: jedna w pracowni fizycznej, druga w sali zaopatrzonej w wystarczającą ilość komputerów.

Scenariusz został opracowany w ramach projektu iCSE4school na podstawie lekcji prowadzonych w latach 2015-2017 w III Liceum Ogólnokształcącym im. Stefana Batorego w Chorzowie przez Adama Ogazę.

Uwaga!

W każdym z okien programu można zmieniać liczby, tekst, zmienne lub cały kod. Nie trzeba się martwić, jeśli program przestanie działać, bo po odświeżeniu strony powróci do ustawień początkowych. Często następny kod wynika z poprzedniego, więc należy ćwiczenia (algorytmy) wykonywać według kolejności.

Wstęp

Główne cele lekcji są następujące:

  • Wyjaśnienie, czym jest echo i pogłos.
  • Zademonstrowanie rezonansu akustycznego.
  • Wyjaśnienie zasady działania instrumentów muzycznych.
  • Wyjaśnienie, czym są dudnienia,
  • Ćwiczenia w tworzeniu wykresów w Pythonie.
  • Ćwiczenia w uzyciu interaktów i suwaków w Pythonie.
  • Ćwiczenia w tworzeniu animacji w Sage

Uwarunkowania, które trzeba uwzględnić:

  • Uczniowie posiadają już podstawową wiedzę o falach w ogólności. W szczególnosci znają równanie fali, koncepcję fali stojącej i rezonansu.
  • Jest to drugi kontakt uczniów z animacjami w Pythonie. Uczestniczyli już w lekcji informatyki specjalnie poświęconej temu zagadnieniu.
  • Należy pamiętać, że uczniowie nie znają matematyki wyższej. Prezentowane rozwiązania programistyczne nie mogą być zbyt wysublimowane.
  • Zalecana jest gradacja trudności. Należy rozpocząć od prostych przykładów i stopniowo je komplikować (na przykład przez dodawanie nowych parametrów lub uzmiennianie stałych).

Część teoretyczna

Ćwiczenia w programowaniu zostały poprzedzone lekcją teoretyczną o zjawiskach akustycznych. Wykład został sfilmowany i opublikowany po polsku, ale z napisami w języku angielskim.

https://youtu.be/jWGTTD5-mFA

Główne zagadnienia dyskutowane na wykładzie:

  • Echo
  • Pogłos
  • Rezonns akustyczny
  • Fale stojące (w szczególności w instrumentach)
  • Dudnienia

Część informatyczna

Zasadnicze umiejętnosci ćwiczone na lekcji:

  • Sterowanie zjawiskami za pomocą suwaków.
  • Wprawianie wykresów w ruch.
  • Badanie ruchu impulsu falowego.
  • Składanie drgań.
  • Badanie fal stojących i dudnień.

Problemy fizyczne dyskutowane w poniższym kodzie i wykresach są następujące:

  • Dudnienia - jak kształt fali złożonej zależy od częstotliwości fal składowych
  • Jak dokonać animacji impulsu falowego i jego odbicia.
  • Pokazanie, że fala stojąca jest naprawdę rezultatem nałożenia się na siebie dwóch fal biegnących w przeciwne strony.

Dudnienia

Prosty przykład wykresu z ustalonymi częstotliwościami i fazami początkowymi, które mogą być zmieniane wewnątrz kodu. Rezultaty tych zmian obserwujemy na wykresie.

Bardziej złożony wykres zawierający parametry funkcji i obwiedni. Dla prostoty wszystkie amplitudy sa równe.

Łatwo skonstruowac narzędzie z suwak zmieniającym argument czasowy. Pozwala na ręczne przesuwanie fali.

Możliwa jest też regulacja częstotliwości drugiej fali. Można prześledzić, że im częstotliwości obu fal mniej się różnią, tym większy okres pulsacji.

Kolejne obliczenia zbliżają nas krok po kroku do stworzenia animacji.

Tablica wykresów fali dla kolejno zmienianego argumentu t0

Gotowa animacja. Widzimy sekwencję wykresów dla różnych wartości argumentu czasowego.

Animacja wskazująca wpływ drugiej częstotliwości na częstość pulsacji.

Odbicie i fala stojąca

Fala stojąca jako złożenie dwóch fal biegnących w przeciwne strony. Uczniowie mogą manipulować wartościami wszystkich parametrów (co było przedmiotem ćwiczeń).

Dla lepszego umaocznienia ewolucji czasowej fali stojącej, warto zastosować animację. Dodatkowy walor dydaktyczny stanowi wyświetlenie fal biegnących. Zastosowano argument w postaci x-vt zamiast t-x/v by uniknąć problemów matematycznych dla prędkości zmierzającej do zera.

Tablica grafik pomocna do bardziej szczegółowej analizy ewolucji czasowej.

Impuls falowy i jego odbicie

Ruch impulsu falowego. Zdaję sobie sprawę, że tak zdefiniowany impuls jest niefizyczny z powodu nieciagłości w pochodnej, lecz jest to pierwsze podejście do tego typu animacji. Uczniowie zostali poinformowani o watpliwościach natury fizycznej; przykład ma raczej ilustrować jak radzić sobie z takimi animacjami z punktu widzenia samego programowania.

Dwa impulsy biegnące w przeciwnych kierunkach.

Złożenie impulsu biegnącego i odbitego.

Aby precyzyjnie obliczyć przebieg procesu odbicia fali można numerycznie rozwiązać równanie falowe. Poniższy kod demostruje przykład takiego algorytmu opartego o bibliotekę numpy.

Wnioski

Programowanie w Pythonie okazało się interesującym uzupełnieniem lekcji fizyki. Korzyści polegają na możliwości mniej lub bardziej łatwej wizualizacji zjawisk przy zmianie parametrów. Dzięki temu, wzory przedstawione na wykładach stają się mniej abstrakcyjne i każdy mógł się własnoręcznie przekonać, jak wynik np. interferencji fal zależy od ich częstotliwości, kierunku, prędkości itd.

Animacje same w sobie okazały się nowym wyzwaniem dla uczniów. W pierwszych edycjach lekcji prosiłem uczniów o dokonanie prób jakiegokolwiek rozwinięcia przedstawionych idei poprzez ulepszenie kodu. Okazało się to niewykonalne, ponieważ kod jest dla nich zbyt trudny. Jedyne, do czego byli zdolni, to manipulacja wartościami parametrów - a to i tak dużo.

Niemniej przebieg lekcji oceniam wysoko. Uczniowie byli zainteresowani i zaangażowani. Ich kompetencje, zarówno w zakresie fizyki, jak i informatyki, wzrosły.