Domů > Odborné články > Gymnaziální vzdělávání > Nástroje pro tvorbu fyzikálních modelů a simulací
Odborný článek

Nástroje pro tvorbu fyzikálních modelů a simulací

29. 4. 2011 Gymnaziální vzdělávání
Autor
Mgr. Jaroslav Koreš
Spoluautor
Mgr. Jiří Straka

Anotace

Článek představuje některé vesměs volně dostupné nástroje k tvorbě fyzikálních animací a simulací. Součástí článku jsou jednoduché videoukázky, porovnávající vybrané nástroje (Phun, Flash, EJS, Physlet builder).

Jak již psal kolega Černý v článku Počítačové simulace ve výuce fyziky, můžeme výuku fyziky doplnit, zefektivnit a zatraktivnit různými programy.

Dovolím si na článek navázat a hlouběji popsat možnosti, jaké nám moderní technologie nabízí.

Můžeme si vybrat 2 základní směry – simulaci nebo animaci. Simulace je založena na fyzikálním popisu, k jejímu vytvoření je zpravidla zapotřebí matematický popis. Animace je pouhý sled obrázků popisující daný jev bez hlubších fyzikálních souvislostí.

Nejdříve ve zkratce zmíním možnosti na tvorbu animací.

Snad nejznámějším zastupitelem jsou prezentace (MS PowerPoint). V nich lze snadno rozpohybovat různá tělesa nebo měnit jejich tvar. Povedené prezentace jsou např. na webu Fyzikálního kabinetu. Pokud nechceme využít prezentace, můžeme vytvářet animované GIFy – jednotlivé obrázky, které pomocí např. programu UnFREEz spojíme dohromady a uděláme z nich jeden pohyblivý obrázek. Ten lze (oproti prezentaci) snadno zakomponovat do webových stránek. Formát gif má oproti jiným grafickým formátům výhodu v průhlednosti, ale musíme počítat s tím, že lze využít max. 256 různých barev, není proto vhodný na práci s fotografiemi.

Další možností je zachytávat dění na obrazovce – např. pohybujeme tělesem a tento pohyb přímo zaznamenáváme. Z velkého množství alternativ doporučuji volně dostupný Wink. Umožňuje jak editaci jednotlivých snímků a jejich popisky, tak i export do formátu SWF. Takové video lze snadno umístit na web.

Posledním zástupcem je flash animace. Jedná se o jakýsi předěl mezi oběma přístupy – ve flashi lze snadno vytvářet animaci pomocí tzv. Motion tweenu. Program sám vytvoří animaci ze zadané počáteční a konečné polohy (velikosti, tvaru) a cesty, po které se má těleso pohybovat. Velkou výhodou je jednoduché umístění na web a příjemná grafika. Také můžeme animaci doplnit zvuky, popisky, interaktivními prvky.

Všechny tyto přístupy mají výhodu hlavně v jednoduchosti a snadnosti obsluhy. K jejich ovládání není zapotřebí žádná znalost programovacích jazyků. Fyzikální problémy nevyjadřujeme matematickým aparátem, což je zejména pro žáky velkým přínosem. Nezanedbatelnou výhodou je také to, že vytvořit takovou animaci mohou i žáci.

Za hlavní nevýhodu považuji komplikovanou editaci hotových animací, nemožnost upravovat parametry animace či její běh. Další nevýhoda je spíše odborného rázu – není přímá souvislost mezi animací a fyzikálním popisem daného jevu.

Druhou skupinou jsou simulace. K tvorbě simulací můžeme využít vlastně jakýkoliv programovací jazyk. Zmíním 2 základní přístupy. Nejznámější a také na webu nejdéle používané jsou Java aplety. K jejich tvorbě potřebujeme buď znalost programovacího jazyka Java, nebo prostředí, ve kterém můžeme snadno simulace vytvářet (tzv. autorský nástroj). Snad nejrozšířenější je EJS (Easy Java Simulations). Práce v něm je relativně jednoduchá – vkládáme objekty a matematicky popisujeme jejich vzájemné vztahy. Velké množství EJS apletů je dostupné na webu prof. Hwanga.

Velmi rozšířené jsou i „flashlety“ – aplety, psané ve flashi. Protože nástroj Adobe Flash obsahuje i vlastní programovací jazyk (Actionscript), můžeme popsat pohyb jednotlivých těles matematicky a nepoužít Motion tween. Simulaci od animace ve flashi rozlišíte podle toho, jestli je možné měnit parametry jejího běhu. Oproti jazyku Java jsou flash animace hezčí, ale jejich programování je oproti EJS těžší. Hlavní nevýhodou Flashe je, že oproti EJS není zdarma. Společnou výhodou obou nástrojů je snadná publikace hotových simulací na webu. Oba nástroje však vyžadují alespoň částečné znalosti programování a hlavně schopnost matematicky definovat fyzikální popis vytvářené simulace. To považuji zejména ze strany žáků za velkou překážku.

Úplně jiný přístup zvolil autor Phunu a jeho komerční pokročilejší verze Algodoo. Jejich hlavní výhodou je přehledné grafické prostředí, ve kterém i žáci snadno vytvoří jednoduchou simulaci. Jedná se o zábavně-vzdělávací software (hry) v kresleném 2D prostředí. Nejedná se pouze o další hry, ale o interaktivní software, simulující fyzikální prostředí. Nová koncepce přístupu k tvorbě simulací využívá kreativitu uživatelů, rozvíjí jejich znalosti v technice.
Phun byl vyvinut Emilem Ernerfeldtem a uveden v diplomové práci na katedře výpočetní techniky na Umea University. Původně magisterský projekt byl vyhlášen jako projekt pro vědecké centrum, Umevatoriet v Umeå. Nicméně Emil šel cestou a nad rámec tohoto projektu a Phun si našel svou cestu k mnohem širšímu publiku na internetu.

Výhody programu:

  • zdarma
  • simulaci lze vytvořit velmi snadno
  • přehledné a atraktivní prostředí
  • k tvorbě simulace není třeba znát žádný programovací jazyk
  • parametry a průběhy fyzikálních veličin nejsou zadávány matematicky
  • multiplatformní
  • výstupem může být video (přehratelné v jakémkoliv PC a snadno vložitelné do WWW stránek)
  • velké množství vytvořených animací
  • není jen pro výuku, ale i pro zábavu
  • vhodný doplněk k interaktivní tabuli
  • video tutoriály (vesměs anglicky)

Nevýhody:

  • až moc realistický – např. nelze vložit těleso s nulovou hmotností. Někdy se ukáže, že idealizace pojmů ve fyzice narazí na realističnost prostředí.
  • využití omezeno na mechaniku a jevy, popsatelné mechanicky (např. model ideálního plynu)
  • samotná simulace nelze přímo vložit do HTML kódu, lze si ji spustit až po stažení (lze řešit videem s animací, u něj však nejde měnit parametry)
  • tekutina neodpovídá modelu ideální kapaliny (nesestrojíte např. jednoduchý hydraulický lis)
  • při simulaci tekutiny vyšší HW nároky


V přílohách porovnám tvorbu vybraných simulací ve Flashi nebo v Javě s podobnou simulací v Phunu.

Problémová úloha – co je rychlejší (Flash x Phun)

2 tělesa mají urazit různě dlouhou dráhu. Otázka zní, které těleso dorazí do cíle dříve. Start i cíl jsou pro obě tělesa ve stejné výšce.

Odpověď není jednoznačná, záleží na tom, o kolik je cesta druhého tělesa delší. Protože (viz animace) se 2. těleso po poklesu bude pohybovat rychleji, sníženou část cesty urazí s větší rychlostí než 1. těleso. Pokud bude snížená část dostatečně dlouhá, dorazí 2. těleso do cíle dříve.

Ve Flashi je vytvořená pouze animace, není možné nijak měnit jakékoliv parametry. Jedná se Motion tween (automatické rozložení animace).

Realizace v Phunu je jednoduchá, navíc prodlužováním části cesty můžeme ověřit, že výsledek opravdu záleží na délce snížené cesty. Bohužel jsem při realizaci zjistil, že i přes vypnutí odporových sil se kulička nevrátí do původní výšky. Projevuje se zde velká „nevýhoda“ Phunu – je moc realistický. Tento příklad je vysloveně teoretický. V reálném případě se kulička při poklesu odrazí – pokud nastavíme 100% pružnost, tak bude po snížené trajektorii skákat. Když snížíme pružnost, nepřemění se všechna potenciální energie na kinetickou a kulička se bude pohybovat pomaleji.

Lissajousovy obrazce

Lissajousovy obrazce (též Lissajousovy křivky) jsou křivky získané složením kolmých harmonických kmitů, které lze vyjádřit rovnicemi:

K
1. Rovnice 1. kmitavého pohybu
Rovnice 2. kmitavého pohybu
2. Rovnice 2. kmitavého pohybu

Křivky nesou jméno Julese Antoine Lissajouse, který je zkoumal v roce 1857.

Tvar křivek závisí na poměru úhlových frekvencí a na fázovém posuvu. Velikosti amplitud ovlivňují rozšiřování nebo zužování obrazce podél dané osy.

Obrázky zde.

Jako příklady jsem zvolil příklad vytváření Java appletů pomocí Physlet Builderu a EJS.

EJS má lepší grafické prostředí i více možností zobrazení těles.

Physlet Builder je podle mého jednodušší na obsluhu, chybí česká lokalizace. Princip je u obou stejný – vytvoříme bod, který se bude pohybovat podle výše uvedených rovnic.

V EJS můžeme navíc při průběhu zadávat parametry.

V Phunu jsem nejdříve potřeboval vytvořit stroj kmitající jen v jedné rovině. Inspiroval jsem se u parních lokomotiv – tam je kmitavý pohyb pístu převáděn na otáčivý pohyb kol. (To je zajímavá problémová úloha pro žáky, jak něco podobného vytvořit). Vytvořený objekt jsem zkopíroval a otočil o 90°. Pak jen stačilo spojit oba kmitající stroje spojit a do spojení přidat popisovač.

Změnou otáček motoru jsem měnil poměr frekvencí a tím i tvar obrazce. Nevýhodou Phunu je, že nelze přímo zadat určité hodnoty (třeba poměr f1:f2 = 1:2). To lze relativně jednoduše změnit pomocí poznámkového bloku. Také lze těžko přesně nastavit fázový posun.

I tak je pro žáky Phun jednodušší a tuto animaci jsou schopni sami vytvořit.

Ráz 2 koulí (jednorozměrný)

Klasický příklad zákona zachování hybnosti.

V prostředí EJS je potřeba vytvořit 2 tělesa, definovat jejich hmotnosti. Pro zjednodušení byl vybrán jen jednorozměrný ráz.

V kódu je potřeba zadat matematickou definici charakterizující zákon zachování hybnosti pro obě tělesa a také, kdy ke srážce dojde. Uvažován je dokonale pružný ráz.

V Phunu je situace úplně jednoduchá – vytvoříme 2 koule, nastavíme jejich hmotnost, navíc můžeme nastavit i jejich pružnost. Také můžeme rovnou pozorovat srážky dvojrozměrné.

V tomto případě je jasně vidět rozdíl, mezi Phunem a ostatními nástroji. Absolutně bez matematiky máme kvalitní simulaci.

Vodorovný vrh a volný pád

Ověření, že dvě tělesa, která jsou ve stejné výšce, dopadnou na zem stejně, i když je jedno v klidu a druhé se pohybuje vodorovně libovolnou rychlostí.

Physlet Builder – vložíme 2 tělesa, zadáme rovnice, popisující jejich pohyb ve směru os x a y.
Flash – pro možnost změny parametrů je vytvořeno posouvátko, udávající vodorovnou rychlost. Tak je zadána dráha ve směru osy x. Pohyb ve směru osy y je pro obě tělesa.
Phun – odpalovací zařízení (pružina) odpálí jednu kuličku, druhá bude padat volným pádem. Změnou parametrů pružiny měníme rychlost pohybu ve směru osy x.

Souvislost pohybu po kružnici a kmitavého pohybu

Pokud rozložíme pohyb tělesa na rotující kružnici v jednom rozměru na časovou osu, uvidíme stejný graf, jako při pozorování kmitavého pohybu (sinusoidu). Ověříme tak, že kmitavý pohyb lze popsat stejnými vztahy jako pohyb tělesa po kružnici.

Flash – pozorovaný bod se pohybuje pouze vertikálně (výška je vypočítána goniometrickou funkcí sinus), sinusoida není vykreslována, pouze se do obrazu nasouvá. Nemáme možnost měnit parametry simulace.

Phun – vytvoříme „kmitostroj“ (jako u Lissajousových obrazců) – stroj, převádějící kruhový pohyb na vertikální. Umístěním popisovače a celého stroje na jedoucí podvozek uvidíme, jak vykresluje sinusoidu.

Jako zajímavost přikládám 2 verze „kmitostroje“ – jeden vykresluje sinusoidu a druhý ne, přitom se liší velmi málo. Souvisí spíše s matematikou.

Hodnocení

Největší výhodou Phunu je intuitivní, jednoduché prostředí a snadnost tvorby simulací. Protože jsem hledal nástroj, který by snadno mohli používat žáci, je Phun v porovnání s ostatními nástroji nejlepší. Není třeba jej instalovat, je dostupná verze i pro OS Linux.

Při tvorbě simulací žáci využijí a prohloubí své znalosti z fyziky, a to pro ně zábavnou formou. Nejsou limitováni svými znalostmi matematiky (což je pro většinu velký handicap) – každý má možnost vytvořit kvalitní simulaci.

Při realizaci je nejdůležitější nápad, cesta k řešení a vytvoření simulace. To vyhovuje i obecně prospěchově slabším žákům, kteří se na výuku nepřipravují.

Navíc při běhu simulace lze snadno měnit parametry – žáci tak mohou odpovědět i na úlohy typu: „Jak by fungoval takový stroj, kdyby nebyl odpor vzduchu a tření?“ nebo „Je tento stroj perpetuum mobile?“

Navíc lze interpretovat výsledky matematicky (oproti Flashi či Javě „pozpátku“) – máme fungující simulaci a můžeme se ptát: „Jak se mění výška v čase? (h = 1/2 gt2)“ nebo „Jak velká musí být síla, když pohybujeme s tělesem s dvojnásobnou hmotností? (F  = m . a)“

K inspiraci mohou studenti využít oblíbený server YouTube, na kterém je velké množství videí s phun simulacemi.

Bez debat je i didaktický přínos – problémy, které řeší žáci sami, jsou pro ně přínosnější než zprostředkované předávání informací.

Informace lze též nalézt na diskuzním fóru (2344 registrovaných uživatelů), hotové simulace lze stáhnout i z www.algodoo.com.

Jako nevýhodu beru nemožnost přesně nastavit posouvátkem hodnoty veličin (to lze opravit v kódu simulace) – pokud chci např. nastavit 2x větší hmotnost, nemusí se mi to přesně podařit.

K publikování na webu je třeba sejmout běh simulace z obrazovky a získané video uploadovat na server. U takového videa pak samozřejmě nelze měnit parametry. Pokud parametry změníme při snímání obrazovky, tak tento nedostatek vyřešíme jen částečně – při prohlížení simulace sice uvidíme, jaký vliv má změna parametrů na běh simulace, ale uživatel do běhu simulace nebude moci zasáhnout. Přes tyto nedostatky považuji Phun za velmi dobrý simulační nástroj, využitelný při výuce fyziky na základních i středních školách.

Vše, co jsem popsal výše, platí i pro komerční verzi Algodoo, ta však disponuje propracovanější „fyzikou“. Také v ní lze pracovat s lasery (zdroji světla) a tak ji využít i při výuce optiky. Výborným rozšířením je také vykreslování grafů vybraných veličin (výborné např. pro popis kmitavých pohybů, volného pádu...). Tuto verzi využívám při výuce a výborně doplňuje výklad. Vzhledem k tomu, že se jedná o placený produkt, nepopisuji jej v tomto článku. V případě zájmu mohu zájemce i o tomto programu informovat.

Licence

Všechny články jsou publikovány pod licencí Creative Commons BY-NC-ND.

Autor
Mgr. Jaroslav Koreš

Hodnocení od recenzenta

Tým RVP.CZ
29. 4. 2011
Článek považuji za velmi vhodný pro práci učitele fyziky. Oceňuji skutečnost, že autor nabízí poměrně široké možnosti, širokou nabídku nástrojů pro tvorbu modelů a simulací. Učitel si z ní určitě některou z možností vybere a ve výuce fyziky využije.

Hodnocení od uživatelů

Článek nebyl prozatím komentován.

Váš komentář

Pro vložení komentáře je nutné se nejprve přihlásit.

Článek není zařazen do žádného seriálu.

Klíčové kompetence:

  • Gymnázium
  • Kompetence k učení
  • efektivně využívá různé strategie učení k získání a zpracování poznatků a informací, hledá a rozvíjí účinné postupy ve svém učení, reflektuje proces vlastního učení a myšlení
  • Gymnázium
  • Kompetence k řešení problémů
  • rozpozná problém, objasní jeho podstatu, rozčlení ho na části

Průřezová témata:

  • Gymnaziální vzdělávání
  • Osobnostní a sociální výchova
  • Poznávání a rozvoj vlastní osobnosti

Mezioborove presahy:

Organizace řízení učební činnosti:

Individuální, Skupinová, Frontální

Organizace prostorová:

Specializovaná učebna, Školní třída

Nutné pomůcky:

počítač s projektorem nebo s interaktivní tabulí, nainstalovaný prohlížeč s Flash Playerem, Javou a programem Phun