Súlypont és egyensúlyi helyzet meghatározása 2 dimenzióban
2023. november 05. írta: Szkladányi András

Súlypont és egyensúlyi helyzet meghatározása 2 dimenzióban

sulypont_1.png

Homogén tömegeloszlású sokszög, illetve kör alakú lapokból, továbbá tömeggel rendelkező homogén vagy elhanyagolható tömegű vékony merev rudakból álló 2 dimenziós rendszerek súlypontját (tömegközéppontját) határozza meg a program. Az alakzatokat menüparancsokkal lehet elhelyezni. A már elhelyezett elemek átrendezhetők, szerkeszthetők, vagy törölhetők. Az egyes idomok sűrűsége különböző lehet és lyukas idomok is kialakíthatók.

A program kiszámítja az egyes elemek, valamint a teljes elrendezés közös súlypontját és ábrázolja őket. Kijelölhetünk egy forgási középpontot, és a program úgy forgatja egyensúlyi helyzetbe, illetve hozza csillapodó vagy csillapítatlan lengésbe a rendszert, mintha ebben a pontban függesztettük volna fel.

A programban menteni lehet a kialakított rendszerről készült képet, illetve az azt meghatározó adatokat, melyek később beolvashatók.

Alakzat létrehozása

Az alakzatok létrehozására külön parancsokat alkalmazunk. Az Alakzatok menüpont megfelelő almenüpontjára kattintással elhelyezhetünk egy kezdő alakzatot, amely kör, rúd, szabályos háromszög, négyzet, illetve szabályos ötszög vagy hatszög lehet.

Alakzat szerkesztése

Egy alakzat úgy szerkeszthető, hogy bal egérgombbal valamely csúcspontjához közel kattintunk és a gombot lenyomva tartva az egér mozgatásával az adott csúcsot áthelyezzük. Mivel egy alakzat súlypontjának meghatározása során a csúcspontok körüljárási sorrendje lényeges, a csúcspontok mozgatása csak bizonyos korlátok között lehetséges. A program csak olyan mozgatásokat tesz lehetővé, melyek során az eredeti sorrend nem változik.

Alakzat nagyítása/kicsinyítése

Egy alakzat úgy nagyítható/kicsinyíthető, hogy jobb egérgombbal valamely csúcspontjához közel kattintunk és a gombot lenyomva tartva az egeret a súlyponttól távolítjuk vagy közelítjük.

Alakzat eltolása

Egy alakzatot úgy tolhatunk el, hogy bal egérgombbal az alakzat súlypontjához közel kattintunk és a gombot lenyomva tartva az egeret mozgatjuk.

Alakzat forgatása

Egy alakzatot úgy forgathatunk, hogy jobb egérgombbal az alakzat súlypontjához közel kattintunk és a gombot lenyomva tartva az egeret először távolítjuk a súlyponttól, majd oldalra húzzuk.

Alakzat sűrűségének (tömegének) változtatása

Az alakzatok elhelyezésekor a sűrűség alapértelmezésben mindig egységnyi. Egy meglévő alakzat súlypontjához közeli dupla bal egérgomb kattintással az alakzat sűrűségét a 0-5 egység tartományban egész lépésekben növelve, ciklikusan változtathatjuk. A sűrűség növelésével az alakzat színe egyre sötétebb lesz. Egy nulla sűrűségű alakzattal, amelynek színe fehér, törölhetjük, vagy kivághatjuk a már elhelyezett alakzatok bizonyos területeit.

Alakzat előtérbe hozása

Egy alakzatot úgy hozhatunk a többi elé („fölé”), hogy először a jobb, majd a bal egérgombbal az alakzat súlypontjához közel kattintunk.

Alakzat törlése

Az Alakzatok menüpont Alakzat törlése alpontjának kijelölése után egy alakzat súlypontjához közeli egyetlen bal egérgomb kattintással törölhetjük az alakzatot. Ezzel a módszerrel egyszerre csak egy alakzat törölhető, tehát újabb alakzat törléséhez ismét ki kell jelölni az Alakzat törlése alpontot.

Új kísérlet

Ezzel a menüponttal az összes meglévő alakzat egyszerre törölhető, majd új összeállítás kialakítása kezdhető meg.

Alakzat súlypontjának meghatározása

Egy alakzat súlypontjának meghatározása itt nem részletezett módon az alakzatot egyértelműen meghatározó adatokat (rúdnál a végpontok, sokszögeknél a csúcspontok, kör esetén a középpont és sugár) felhasználó matematikai összefüggésekkel történik. Ez a súlypont úgy rendelődik hozzá egy alakzathoz, hogy a kivágások és átfedések nem változtatják meg a helyét (természetesen az alakzat eltolása, vagy alakjának változtatása igen).

Az összes alakzat közös súlypontjának meghatározása

A szimulációs térben felvett összes alakzatból álló rendszer közös súlypontjának meghatározása (kivágások és átfedések esetén is) a megjelenő pixelpontok színének vizsgálatával, tehát közelítő módszerrel történik. Ha egy pixel színe nem a fehér háttérszín (pontosabban olyan RGB (r, g, b) érték, ahol b<255), akkor ott egy alakzat valamely pontja helyezkedik el, ezért hozzá járul a közös súlypont kiszámításánál alkalmazott összegzéshez. Egy-egy pixelpont tömege megegyezik az adott alakzat sűrűségének értékével. A számolás során az összes pontot megvizsgáljuk, és ha forgástengelyt is kijelöltünk már, akkor a tehetetlenségi nyomatékot, valamint a súlypont és a forgástengely távolságát is meghatározza a program. Ez az eljárás a tesztek alapján kb. 2 s időt vesz igénybe, emiatt szerkesztéskor esetleg érdemes az Ábrázolás menüpont Közös súlypont almenü pontját kikapcsolni, a forgástengelyt pedig csak a szerkesztés befejezése után kijelölni. Fontos még, hogy amennyiben egy alakzat valamely része kívül esik a szimulációs téren, akkor az alakzatnak azt a darabját az algoritmus a rendszer súlypontjának meghatározása során nem veszi figyelembe, tehát mindig csak a szimulációs térben látható alakzatrészek közös súlypontját határozza meg. (Az egyes alakzatok saját súlypontjának elhelyezkedését azonban ez nem befolyásolja.)

Adott tengely körüli ingamozgás

Ingamozgás szimulációjakor a program a szimulációs térben elhelyezett alakzatokat egyetlen összefüggő alakzatként kezeli akkor is, ha azok nem érintkeznek, illetve nem kötik őket össze rudak (mintha súlytalan rudakkal lennének összekötve). Az Ingamozgás menüpont Forgástengely kijelölése alpontjára kattintva a bal egérgombbal ki kell választani a forgástengelyt a szimulációs térben. Ekkor a program kiszámítja a rendszer ezen tengelyre vonatkozó  tehetetlenségi nyomatékát, majd meghatározza a tengely és a súlypont  távolságát és a periódusidőt (ez, ahogy az előző pontban említettük, kb. 2 másodpercet vesz igénybe). Az ingamozgás szögkitérésének időbeli alakulását az azt leíró differenciálegyenlet RK4 módszerrel történő numerikus megoldásával határozza meg a program.

A program a következő linkről tölthető le:

https://www.dropbox.com/scl/fi/eucd1ggtsgyghdimp4q1s/sulypont.zip?rlkey=0mh14amwg7p6s8zlg6q5w8zgz&dl=0

A bejegyzés trackback címe:

https://szkladanyi.blog.hu/api/trackback/id/tr1818251449

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása