Fysiikan simulaatiot ja visualisointi itse ohjelmoiden
Jari-Pekka Makkonen, Matti Heikkinen ja Samu Huovinen
Fysiikkaa ja Python -ohjelmointia
Johdanto
Fysiikan simulaatioiden avulla voidaan tarkastella ilmiöitä joiden tutkiminen kokeellisesti olisi vaikeaa. Kirjoittamalla simulaatio-ohjelmia, opitaan myös syvällisesti soveltamaan fysiikan ilmiöihin liittyviä matemaattisia malleja.
Python-ohjelmointikieli soveltuu helpohkon syntaksinsa vuoksi hyvin ohjelmoinnin alkeiden opiskeluun ja simulaatioiden kirjoittamiseen. Tässä esittelyssä oletetaan, että Python-kielen alkeet ovat hallinnassa. Näiden simulaatioiden ohjelmoinnissa on käytetty VPython-nimistä 3D-grafiikkamodulia.
VPython-moduli on tehty helppokäyttöiseksi ja se mahdollistaa vähällä vaivalla simulaatioiden ohjelmoinnin ja erilaisten visualisaatioiden teon. VPython on käytännössä yksinkertainen renderöintityökalu 3D-kappaleille ja graafeille. VPython-ohjelmia voi kirjoittaa ja ajaa suoraan selaimessa kirjautumalla Glowscript-ympäristöön.
Esimerkiksi kinematiikasta on mahdollista antaa opiskelijoille ohjelmointitehtäviä, jotka eivät edellytä esitietoja ohjelmoinnista. Myöhemmin jaetaan materiaalia, jossa käsitellään lisäksi Pythonin alkeita.
Esimerkki 1
Esimerkissä simuloidaan pomppivaa palloa. Pompuissa mekaaninen energia ei säily. Esimerkin lähdekoodi ja simulaation suoritus


Esimerkki 2
Esimerkissä 2 simuloidaan pallon putoaminen 4.0 m korkeudelta ja piirretään pallon sijainti y-suunnassa ajan funktiona. Pallo lähtee levosta liikkeelle. Esimerkin lähdekoodi.



Esimerkki 3
Simuloidaan Kuun kiertoliikettä Maan ympäri käyttäen mallina Newtonin painovoimalakia:
