Symulacja komputerowa jest procesem, w którym stan obiektów jest na bieżąco wyliczany i aktualizowany. Aby przedstawić ruch obiektu podczas symulacji, nie opieramy się na zapisanym ciągu zdarzeń animujących obiekt, lecz korzystamy z fizycznego modelu zjawisk i równań ruchu. Skoro znamy matematyczny model oddziaływań pomiędzy takimi pojedynczymi obiektami, możemy też wyliczyć dynamikę galaktyki składającej się z miliarda gwiazd.

plik do pobrania: HARMONICZNY

Wydawać by się mogło, że problem analizy numerycznej prowadzącej do animacji w czasie rzeczywistym i ogólnie symulacji procesów fizycznych jest szczególnie zawiły i trudny do opanowania. Otóż okazuje się, że każdy, kto potrafi posługiwać się arkuszem kalkulacyjnym jest w stanie w kilka minut przeprowadzić taki fizyczny eksperyment. Co więcej (biorąc pod uwagę szybkość współczesnych komputerów), znaleźć można rozwiązanie tych skomplikowanych problemów z bardzo dużą dokładnością. A poza tym, możliwa jest dalsza analiza i przeprowadzenie wnioskowania dotyczącego praw rządzących zjawiskami rzeczywistymi.

Ruch harmoniczny jest jednym z najprostszych, a przy okazji istotnym zjawiskiem fizycznym. Dla uproszczenia zajmiemy się na początku ruchem jednowymiarowym; będą to drgania punktu materialnego wokół położenia równowagi. Na taki punkt działa siła proporcjonalna do wychylenia z położenia równowagi.

Poniższy fragment kodu stanowi główną część takiego programu. Konkretne rozwiązanie dostępne jest na stronie internetowej zso.bobowa.eu w dziale fizyka. Dodać należy, że arkusz musi mieć włączoną możliwość wykonywania makropoleceń.

t = 0
x = 1
dt = 0.01
k = 1
Do
   a = -k * k * x
   v = v + a * dt
   x = x + v * dt
   t = t + dt
Loop Until t >= 10

Jeżeli wartości zmiennych x i t wstawimy do komórek arkusza i zawartości komórek umieścimy na wykresie punktowym, będziemy mogli zaobserwować tor ruchu. Wystarczy do pętli wprowadzić dwie dodatkowe instrukcje oraz poprawnie opisać punkt wykresu:

Range("A2") = t
Range("B2") = x

W prosty sposób można zmodyfikować program, zmienić dynamikę ruchu, wprowadzając inny sposób obliczania przyspieszenia lub obliczenia w pętli wstawić do kolejnych komórek arkusza i poddać dalszej analizie