Vonzás-taszítás törvényein alapulú szimulációs kisérlet
2017.
Régóta foglalkoztatott már az, amiért végre rászántam magam arra, hogy megírjam ezt a programot. Szeretném először is néhány egyszerű példával bevezetni ,hogy miről is van szó ! J
Az egész „történet”, kisérlet a következő 3 dologra épül : VONZÁS, TASZÍTÁS, SEMLEGESSÉG. A szimulációban részecskéket fogunk ábrázolni, amik vagy vonzzák, vagy taszítják egymást, vagy SEMELEGESEK (közömbösek) egymással.Elsőre a mágnes juthat eszünkbe ,ami vagy vonzza, vagy taszítja a másik mágnest, vagy semleges, és nem fejt ki erőt, ha megfelelően messzi távolságban vannak egymástól. Kis darabszám esetén persze el tudjuk képzelni, hogy hogy viselkedne egymással két mágnes, de nagy darabszám esetén már nem biztos.
A szimulációs program megértéséhez szeretném ábrázolni:
|
Legyen ő egy részecske. Egy
„kék-részecske”. A szimulációban van szerepe a
színeknek, mert ezzel lehet őket megkülönböztetni egymástól. Egyetlen létező tulajdonsága pedig legyen
az, hogy eltaszítja magától a vele azonos részecskéket ! |
|
Ha találkozik egy ugyan
olyan részecskével ? Mivel a kettőjük között fellépő
taszító erőt a távolságuk fordított arányával fejeztem ki (taszító erő =
1/távolság), így a távolságuk növekedésével egyre csökken ez az erő, de sosem
lesz 0. Észrevettem már az elején, hogy kellene valamit beiktatni, ami megakadályozza
a vég nélkül növekedő
távolságokat , mert így hiába teszünk be további részecskéket, aligha
fog bármilyen az erők által léterjött ciklikusság megmutatkozni
a mozgásukban, mert egész egyszerűen „szétszaladnak” a térben. |
|
Ezért beiktattam egy
KÖZPONTI VONZÓERŐT. A szimulációs térben minden
egyes részecskére külön-külön hat, egy a tér belseje felé ható vonzóerő.
(központi vonzó erő = 1/távolság a középponttól) Több „kék részecske”, és a
központi vonzóerő együttese értelemszerűen
a bal oldalon látható állapotot fogja eredményezni. Gyakorlatilag egy
véletlenszerű kezdeti állapotban, ahol random helyezzük el a récsecskék helyzetét a síkban ,a
részecskék vándorlásba kezdenek, és a középpont köré egy körgyűrűt fognak
alkotni. A program nem síkban, hanem
térben mutatja a szimulációt. Tehát ? A körgyűrű –
amit ide a példa kedvvéért rajzoltam- kivetítve
térben egy gömbfelület. |
A fenti példát követve a szimulációt igy jeleniti meg a program.100 darab kék részecske, akik mind taszitják egymást, de hat rájuk a központi vonzóerő, ezért egy gömbfelület alakzatba rendeződnek.
A program kezelőfelületének bal alsó sarkában lehet az egyes részecske-csoportok „identitását” állítani. Ez határozza meg az egész szimuláció mechanizmusát, hogy miként reagáljanak egymáshoz a részecskék. VONZÁS, TASZÍTÁS, SEMLEGESSÉG. -1,0,1 !
|
A bal felső sarokban az
1-es azt jelenti, hogy 1db csoport van. Mellette a 100 azt jelenti, hogy
ebben a csoportban 100 részecske van. A kék négyzet a csoport színére utal,
amilyen színnel a szimulációban is mutatkozik. A jobb alsó sarokban az 1-es
pedig azt jelzi, hogy kék a kékhez TASZÍTÓLAG hasson. Ha 0 lenne, akkor
semlegesség lenne, ha -1, akkor pedig VONZÁS. |
|
Nézzünk egy „izgalmasabb”
példát, hisz ez lenne a lényege az egésznek ! 3 csoport van, minden csoportban
56db részecske. Zöldek, szürkék, és lilák játéka… És akkor mi történik ? ·
Zöld
taszítja Zöldet ·
Zöld
taszítja Szürkét ·
Szürke
taszítja Zöldet ·
Lila
taszítja Lilát |
Nézzünk még egy ennél is kaotikusabb példát, egy „bigbang”-el. Miután felvérteztük a csoportokat random-tulajdonságokkal, lehetőségünk van arra, hogy egy közös pontba tegyük őket, és megfigyelhessük, milyen csoportosulások, ciklikus mozgások, hiearhia alakul ki ,hogy kezd el egyfajta rendszert felvenni egy kezdetben kaotikus elrendezés.
|
A játékszabály: ·
Zöld
taszítja zöldet,szürkét, lilát, de vonzza lila2-őt ·
Szürke
taszítja lilát, pirosat, és lila2-őt ·
Lila
vonzza lila2-őt ·
Piros
taszítja zöldet, és lilát ·
Lila2
taszít mindenkit, kivéve pirosat |
A program használata:
A felületet úgy alakítottam ki, hogy elég legyen csak az egér használata. Az egész felület interaktív, minden érték, szín módosítható kattintással, a szimulációs tér tetszőlegesen elforgatható.
|
Bal oldalon a szimulációt befolyásoló értékek állíthatók:
|
|
Jobb oldalon pedig parancsok adhatók ki:
|
Az egér a felület jobb szélére mozgatva eltüntet minden szöveget a képernyőn, és csak a szimuláció lesz látható !
Letöltés : szimulacio.zip (470kb)
A program minden Windows alól indítható !