Multimédia - Szimuláció - Grafika

 

Farkas Judit, Fodor Szabina, Dr. Molnár István

Budapesti Közgazdaság Tudományi Egyetem Számítástudományi Tanszék

 

 

Kulcsszavak

Absztrakt

Az előadás a (multimédiát alkalmazó) szimulációs programok eredményeinek grafikus megjelenítésének problémáival és lehetőségeivel foglalkozik. Megoldási lehetőségként bemutatja a HOOPS programozási környezetet és az eddigi eredményeket egy már meglévő konkrét alkalmazáson keresztül.

Bevezetés

Komplex rendszerek vizsgálata nemlineáris feladatokra vezet. Ezen problémák analitikusan nehezen vagy egyáltalán nem oldhatóak meg. Így az ilyen típusú vizsgálatok legfontosabb eszközévé vált egy rugalmas modellezési eszköz a szimuláció.

A szimuláció fogalma általában kísérlet elvégzését jelenti valamilyen számítógépes modellen. Tágabb értelemben a szimulációs modellezésbe beleérthetjük:

A multimédia a megértést segíti, a grafika az eredmények értékelésének egy lehetséges eszköze, míg az optimalizáció a modellen végezhető vizsgálatok körét bővíti. Munkánk során a multimédiát alkalmazó szimulációs szoftver és a grafika összekapcsolásával kívánunk foglakozni.

Problémák és megoldási lehetőségek

Az előbb említett tudományterületek összekapcsolásakor technikai szempontból alapvetően két problémával találkozunk.

A kialakításnál törekedni kell a már meglévő modellezési eszközökkel való minél nagyobb kompatibilitásra. A kompatibilitás révén a rendszer nyitott lesz; más eszközök bevonásával az eredeti célkitűzésen túlmutató feladatok elvégzésére is alkalmassá válik.

A feladatok megoldására választhatunk egy magasszintű programozási nyelvet, mint például a C++, Java; amelyben könnyen-gyorsan programozhatjuk az általánosan felmerülő problémákat, viszont a grafikus megjelenítés támogatása nehézkes és gyakran erősen támaszkodik a hardver lehetőségeire, amin a fejlesztés történt. Ha ezzel szemben valamilyen grafikai megjelenítésére kifejlesztett célszoftvert választunk, akkor a felületek megjelenítése, határok, tükröződési tulajdonságok egyszerűen kezelhetők, de a multimédia technológiához való illeszkedés nehézkes vagy teljesen lehetetlen.

Ezért választottuk az előbb vázolt lehetőségek előnyeit ötvöző HOOPS programozási környezetet.

HOOPS

A HOOPS 1985-ben az Egyesült Államok Itaca Egyetemén a SOCRATES program keretében kifejlesztett általános célú objektum-orientált grafikai rendszer. A program támogatja a 2D/3D megjelenítést, ezenkívül a HOOPS segítségével készülő programokba C, C++, Fortran programozási nyelvű sorok, rutinok kerülhetnek ezzel megoldva az előbb vázolt problémákat.

Rendelkezik egy hierarchikus adatbázissal, mely lehetővé teszi, hogy egyszerűen lehessen bonyolult felépítésű rendszereket megjeleníteni, mozgatni. Például egy robotkar modellezésénél létrehozhatjuk a következő felépítést:

robot
   
alap
   
felsőrész
   
felső kar
   
alsó kar
   
csukló
    
1. Robotkar modell      2. A HOOPS platformjai

Ekkor, ha felsőkart mozgatjuk, akkor vele mozog az alkar és a csukló is, míg a csukló mozgatásakor a felsőkar merev marad. Hasonló elv szerint alakíthatjuk ki a színeket, és a láthatósági viszonyokat is.

A gyorsaság igen jelentős kritériumként fogalmazódik meg napjainkban, hiszen az igényes grafika jelentős hardver-erőforrás igénnyel rendelkezik. A fejlesztői dokumentációk szerint a HOOPS hatékonyságban jelentősen megelőz más szoftvereket.

A HOOPS programozási környezet további jelentős előnye, hogy 100%-os forráskód kompatibilitást biztosít a különböző platformokon, ami lehetővé teszi a minél tágabb hasznosítását.

Egy konkrét alkalmazás

Kezdeti lépésként a Budapesti Közgazdaságtudományi Egyetem Számítástudományi Tanszékén kifejlesztett Lotka-Volterra rendszer szimulációjára készült program és a HOOPS rendszer összekapcsolása történt meg. A demoprogram két, egymással ragadozó-zsákmány (róka-nyúl) kapcsolatban álló állatfaj létszámának változását vizsgálja. A felhasználói felület Multimedia ToolBook 5.0-val készült. A szimuláció lelke egy Fortran program, amely fájlokon keresztül kommunikál a felülettel és az eredmények megjelenítését végző HOOPS programmal.

3. Lotka-Volterra rendszer szimulációjának eredményei HOOPS-szal megjelenítve

A HOOPS alkalmazása mellett szólt, hogy

A HOOPS tulajdonságai közül nem használtuk ki, hogy a HOOPS

További tervek

Az alkalmazás létrehozása első lépésként bizonyította, hogy a HOOPS alkalmas arra a feladatra, amire szántuk: multimédiás szimulációs szoftverek eredményeinek megjelenítését képes elvégezni. Sőt, valamilyen (a későbbiekben meghatározott) szabvány felület és megjelenítő egységcsomag létrehozására is alkalmas.

A kommunikáció a Fortran program és a HOOPS megjelenítő program között eseti, erre az egyetlen feladatra készült. A csoport célkitűzése, hogy a kommunikáció a szimuláció és a megjelenítés között szintén szabványos formában történjen. A szabvány kidolgozása a már jelenleg meglévo szabványokhoz illeszkedo en jelenleg folyik.

Hivatkozások

HOOPS Graphics System, Reference Manual Version 4.1, Autodesk, 1995.

Leler, Wm - Merry, Jim : 3D with HOOPS, Addison Wesley, 1996.

Pataki, Attila : Genetikus algoritmusok kiterjesztés többcélú feladatokra, Évfolyamdolgozat, Budapesti Közgazdaságtudományi Egyetem, 1997.

TOOLBOOK: OpenScript Reference Manual, Assymetrix Corp., 1994.