2014. április 18., péntek

Pendulum hullám - 2013/14 Fizika tábori projektmunkánk - BDG 8.C/12.C

BEMUTATJUK: A saját pendulum hullámunk! :)



"Egy húron pendulum!" :)


Mi ez a hang?? :)



Válasz és egyéb részletek a projekttel kapcsolatban hamarosan elérhetők:
a BDG fizika munkaközösség honlapján 

Közreműködtek:
Andreidesz Tekla 8.C
Czövek Márton 12.C
Forrás Bence 12.C
Galovics Gábor 8.C
Kovács Áron 8.C
Sárdi Dávid 8.C
Vavrik Márton 8.C

MIÉRT TANULUNK FIZIKÁT? :) - Rubens-féle cső 2D-ben is!

Rubens-féle cső 2D-ben is!!! ZSENIÁLIS! :)

Állóhullámok kialakulása tűz-hangjátékkal:


Mindez 2D-ben is!!!

2014. március 30., vasárnap

Pendulum hullám számítógépes szimuláción – 4. rész (írta: Czövek Márton és Forrás Bence, BDG 2013/14 12.C)

A korábbi bejegyzésekben már emlegetett Czövek Márton és Forrás Bence vagyunk – mi foglalkozunk a számítógépes szimuláció készítésével. 12. osztályosok vagyunk; tanórai kereteken belül – és azokon kívül is – 3 éve tanulunk programozni Java nyelven.

Az elmúlt hónapokban elkészítettük a pendulum hullám jelenségének számítógépes modelljeként szolgáló programot. Ebben a bejegyzésben bemutatjuk a program elkészítésének menetét.

Az elkészült program a Berzsenyi Dániel Gimnázium idei fizikatáborát követően szabadon elérhető lesz az iskola fizika munkaközösségének oldaláról.

Előkészületek

A program fő funkciója, hogy az ingarendszert mutatja elöl- és felülnézetből; ezen vetületek megrajzolásakor ténylegesen egy síkra rajzolunk, tehát a program nem 3 dimenziós objektumokként tárolja az ingákat, annak ellenére, hogy bizonyos grafikai megoldások, mint például a golyók mérete, erre engednének következtetni.

Ahhoz, hogy animációt hozzunk létre, egymáshoz közeli időpillanatokban rajzoljuk ki az ingarendszert. Minden újrarajzoláskor a vászonról letöröljük az előző képkockát, majd kirajzoljuk az újat – másodpercenként 33-szor.

Ez tehát azt jelenti, hogy szükségünk van arra, hogy tetszőleges időpillanatban ismerjük valamennyi inga helyzetét. A rajzolást Descartes-féle derékszögű koordináta-rendszerben végezzük, tehát minden ingáról tudnunk kell az aktuális kitérési szöget és a fonál hosszát: ezekből az adatokból meghatározhatók a golyók koordinátái. A fonálhosszak adott ingarendszernél ismertek.

Meg kell tehát határozni a kitérési szög–idő (αt) függvényt minden ingára. Ez α(t)-ben másodrendű differenciálegyenletre vezet. A differenciálegyenlet pontos megoldása nem zárt alakban van, de ha α szinuszát az ingáknál megszokott módon α-val közelítjük, olyan differenciálegyenletet kapunk, amelynek megoldása már hatékonyan kezelhető (lásd az angol nyelvű Wikipédia ide vonatkozó szócikkét.

Így már minden adott, hogy az ingarendszer megfelelő vetületeit tetszőleges időpillanatban számolni tudjuk.

A programozás alapvető lépései

Korábbi programjainkban már többször használtunk egy a rajzolást Java nyelven igencsak megkönnyítő osztályt, a Robert Sedgewick és Kevin Wayne professzorok által írt StdDraw-t, amit ezúton is mindenkinek ajánlunk. A program első verzióját is ennek a környezetnek a felhasználásával készítettük el.

Az úgynevezett objektumorientált programozási koncepciót követtük: saját adattípusokat hoztunk létre. Elsőként megírtuk az inga típust, ami tárolja egy inga összes paraméterét: a fonál hosszát, az inga maximális szögkitérését (tehát amekkora szöggel az elindításkor kitérítjük), a felfüggesztési pont helyét (mint koordinátákat) és néhány egyéb adatot. Ezután létrehoztuk az ingarendszer típusát, ami az előbb megírt ingákat használja; azok belső működését nem befolyásolja, csupán összehangolja őket: gondoskodik például arról, hogy egyszerre induljanak el, illetve ez végzi el az ingák paramétereinek beállítását is.

Ez a megközelítés azért volt célszerű, mert nem csak logikus egységekbe rendezte a kódot a típusok használata révén, de a későbbiekben alkalmazott másik rajzolókörnyezettel is szinte változtatás nélkül használható volt.

Az ezen egyszerű módszerrel történt megvalósítás előnye volt, hogy könnyen és gyorsan el lehetett készíteni: az első verziót mindössze másfél óra munka után késznek lehetett nyilvánítani. A módszer hátránya azonban az, hogy éppen a rajzolási környezet korlátozott volta miatt a program kezelőfelülete igen kevéssé volt felhasználóbarát: nem lehetett például csúszkákat vagy gombokat használni.

A szélesebb lehetőségek miatt döntöttünk még a programozás elkezdése előtt úgy, hogy az első verzió elkészülte után a felhasználói felületet új alapokra helyezzük: a Java nyelv felhasználóbarát programok létrehozását lehetővé tevő Swing csomagjára álltunk át.

A programozás hozadékai

Az általunk írt program nem tanult fizikát: nincs tisztában sem Newton törvényeivel, sem a gravitációval, csak az ingák mozgását leíró képleteket ismeri, amelyek azonban a közelítés miatt csak kis szögek esetén igazak. Ebből következően az sem zavarja, ha olyan kitérési szögértéket adunk meg, amire a közelítés már nem lenne igaz – például 60°-ot. Ez igen szórakoztató jelenségekhez vezet: 120°-os kitérítés esetén például a golyók egy pillangómintát írnak le. Persze ennek a valósághoz nyilván semmi köze: ha a rendszert 120°-kal térítjük ki, a golyók nem körpályán fognak elindulni, hanem először szabadesést végeznek. Ez utóbbi példa jól jellemzi a programozás során – nem csak a mi esetünkben – oly gyakran megfogalmazott álláspontot: „megcsináljuk, mert megtehetjük”. Természetesen nem minden ajánlott, ami technikailag megvalósítható.


A nyolcadikosok az általuk elkészített ingarendszer elindításakor egy hosszú deszka használatával térítik ki a golyókat. Ez az általuk használt paraméterértékek esetén valóban a kívánt eredményt adja, ám a program rámutat, hogy a burkológörbe általános esetben nem közelíthető egyenessel, ugyanis a kitérítésnek nem azonos távolsággal, hanem azonos szöggel kell történnie.



Konklúziók

Szeretnénk hangsúlyozni, hogy a programozás semmiképpen sem tekintendő megközelíthetetlen vagy misztikus területnek – bizonyos dolgok egyszerűbbek, mint gondolnánk. Azt tapasztaltuk, hogy sokszor meglepően gyorsan működő kódot lehet létrehozni.

Projektünk megkezdése előtt a használt eszközök jelentős részéről semmit vagy szinte semmit nem tudtunk. Ez azonban a programozás területén gyakran nem jelent akadályt: az elterjedtebb nyelvek fontosabb csomagjai általában rendelkeznek jó dokumentációval és azt kiegészítő útmutatókkal; e téren a Java nyelv különösen kiemelkedő. (Sokat használtuk az Oracle oldalán található Java Tutorialst és a Sedgewick–Wayne-féle oktatási anyagokat.)

Végezetül szeretnénk emlékeztetni arra, hogy programozni jó, és buzdítunk mindenkit, hogy próbálja ki és gyakorolja aktívan. A programmal kapcsolatos bármilyen kérdés felmerülése esetén elérhetők vagyunk a pendulumwave@gmail.com címen.

Czövek Márton és Forrás Bence
Berzsenyi Dániel Gimnázium, Budapest
12. évfolyam, speciális matematika tagozat

2014. március 29., szombat

Elektrotechnikai Múzeum

Rendhagyó fizikaórák az elektrotechnikai múzeumban

"Intézményünk már évek óta tartja „Az élő elektrotechnika” című állandó kiállításhoz kapcsolódó rendhagyó fizikaóráit általános- és középiskolás csoportok részére. Múzeumi környezetben a diákok izgalmas kísérleteken keresztül, játékos módon, a fizikai demonstrációs eszközök működtetésével sajátíthatják el az elektrodinamika, elektrosztatika törvényszerűségeit. Bővebben: múzeumpedagógia.
Részletek, s időpont egyeztetés ügyében érdeklődés:
Tel.: 06-1-342-5750, info@emuzeum.hu"

Jó szórakozást! ;)

Aranymetszés - A tökéletes arány

Közkívánatra egy kis aranymetszés különböző területekről:














A gejzírek fizikája - természeti jelenségek II.

Közkívánatra egy-két természeti jelenséggel kapcsolatos (abszolút középiskolásoknak/érdeklődőknek szánt) anyagom is közzé teszem:

II. A gejzírek fizikája:








A szivárvány fizikája - természeti jelenségek I.

Közkívánatra egy-két természeti jelenséggel kapcsolatos (abszolút középiskolásoknak/érdeklődőknek szánt) anyagot is közzé teszek:

I. A szivárvány fizikája: