Generatív 3D szimuláció – swarm behavior

Sziasztok! Ugyan alig telt el néhány nap a legutóbbi poszt óta, tegnap éjjel valami igazán fantasztikus dolgot találtam, amely megér egy önálló bejegyzést a blogon, noha nem sok köze van a 3D nyomtatáshoz, annál több viszont a parametrikus és generatív 3D modellezéshez, és az interaktív, reszponzív installációk elméleti, matematikai hátteréhez.

Screen shot 2013-05-20 at 9.32.22 PM

Az informatikában és a programozásban járatos olvasóknak bizonyára ismerősen hangzik a swarm kifejezés. Az angol swarm szó jelentése ‘raj’, ‘sokaság’, ‘boly’, ami a számítástechnika és a programozás kifejezésrendszerében megszokott módon képi, metaforikus jelentésbővüléssel vette fel a helyi jelentését.

A mai bejegyzésben nagyon nem akarok (és nem is tudnék) belemenni a ‘swarm behavior’ rejtelmeibe, arról ugyanis számos könyv íródott, és nagyon komplex matematikai háttere van, főleg ha algoritmusokkal szeretnénk modellezni a jelenséget.

swarm3

© Christopher Swann/SPL/Barcroft Media

De kezdjük egyszerűen, vegyünk a természetből példát.

A madár- vagy halrajok rendeződése, tájékozódása, a baktériumok, sejtek mintázatai, elrendezése, az emberek áramlása mind-mind összefüggenek, a kapocs köztük pedig a kollektív viselkedés. A kutatók elkezdték a tanulmányozást a baktériumokkal, majd folytatták a sejtekkel, de rájöttek, hogy azok az egyenletek, amiket a baktériumokra felírtak, akár halrajokra is használhatók. Folyamatosan haladtak egyre feljebb, majd arra jutottak, hogy az emberek áramlását, mozgását is megpróbálhatjuk leírni.

swarm2

© D. Dibenski

Galambcsapatokon belül viselkedés-kutatók megfigyelték, hogy vannak vezéregyéniségek és követő hajlamúak. Az emberi társadalom is hasonlóan működik, de azt sokkal nehezebb így megközelíteni, ezért olyan területeken próbálkoztak tovább, ahol méréseket lehet végezni, az eredményeket kiértékelhetők és ágens alapú számítógépes szimulációkkal modellezhetőek. Ennek lényege, hogy az ágensek szimulált egységek, akik optimalizálni próbálják a tevékenységüket. Például a galambcsapatoknál a szimulációban a tíz galambot tíz ágens jelképezné, és az lenne a feladatuk, hogy együtt mielőbb elérjenek egy adott célt úgy, hogy közben rengeteg a zavaró körülmény.

swarm7De vehetnénk példát az internetről is. Nyilvánvalóan senki nem használ torrent rendszereket illegális tartalom letöltésére, de azért (ha mást nem legális tartalom megosztása során) mindenkinek vannak tapasztalatai. A p2p fájlcserélő rendszert használók nyitott vagy zárt közösségeket alkotnak, és a csoportok annál életképesebbek, minél többen töltenek fel bennük (seedelnek), hisz ha csak letöltők vagyis leecherek vannak, akkor hamar elfogynak a letölthető állományok. Az egyes torrentes csoportokban a leechelőkből és a seedelőkből álló kapcsolati hálózat bonyolult rendszer alkothat, itt ezt hívják swarmnak.

swarm6A swarm-ok, azaz rajok viselkedésének tanulmányozása az utóbbi évtizedekben sokat fejlődött, a rajok magatartásának megismerése jelentős előrelépést jelentett a kollektív emberi viselkedéstől, a kooperatív biológiai rendszereken és a mintázatképződésen át egészen a mesterséges intelligencia, autonóm rendszerek kutatásában és modellezésében.

Az építészeti tervezés is egyre komplexebb feladattá vált az építészet nemrégiben végbement paradigma-váltása óta, a tervezés-informatológia elterjedésével és építészeti alkalmazásával sokkal alaposabb környezetpszichológiai és szociológiai előtanulmányok készíthetőek egy építészeti vagy városépítészeti feladat előkészítéseként, amelyek nagyban elősegítik a terv helyes működését. Például egy embertömeg egy stadionból kifelé jövet olyan, mintha egy homokórában a homokszemek peregnének. Az ilyen mozgásoknak sokféle aspektusa van, és többféleképpen lehet őket leírni. Úgy tűnhet, hogy különálló dolgokról van szó, de a kollektív mozgás összeköti őket.

swarm4

© Pablo Miranda Carranza

Az interaktív swarm tér (ISS – Interactive Swarm Space) a raj-viselkedés szimulációjának alkalmazásával magával ragadó virtuális terek hozhatóak létre, amely egy reszponzív környezet, és a tartalmi-szomszédsági kapcsolatok révén kiemelt szerepet kap az interakció, érzékelés, valamint a zenei és művészi kifejezés eszköztára is. Ezek az interaktív rendszerek önszerveződőek, folyamatos visszacsatolást adnak (feedback) a térnek a környezeti hatásokról, melyek paraméteresen vezérelik a swarm viselkedését.

swarm5

© Pablo Miranda Carranza

Ezek után, gondolom mindenki szeretné kipróbálni, hogyan is lehet modellezni a kollektív viselkedést, és a 3D térben szimulálni is tudjuk esetleg egy populáció lehetséges vagy éppen optimális viselkedési formáit. Korábban nem lehetett egyszerűen, csak külön e célra fejlesztett tudományos szoftverekkel modellezni, viszont akik járatosak voltak a programozásban, Processing-ben létre tudtak hozni mesterséges, ünszerveződő rajokat, amelyek ezután vizsgálhatóak és paraméterezhetőek voltak. Ehhez azonban bonyolulut programozási ismeretkre volt szükség, a swarm-okat modellező algoritmusok bonyolult ágens rendszereket tartalmaznak, ezek leírása pedig bonyolult feladat.

swarm1

A Grasshopper már régóta tervezi swarm behavior modellező komponent fejlesztését, azonban úgy tűnik az utóbbi időben leálltak vele, az utóbbi 3 verzóban nem történt előrelépés ezen a téren. Ebből kifolyólag én is félretettem egy kicsit a témát, habár előszeretettel próbálgattam Processing-ben mások által generált Object Library-k importálását, több-kevesebb sikerrel. Ami viszont a mai blogbejegyzés apropóját adta, hogy megjelent egy ingyenes, nyílt forráskódú szabad szoftver, amellyel nagyon látványosan, egyszerűen és mégis pontosan, finoman hangolhatóan lehet modellezni swarm-okat. Az ISO-flock szoftverről van szó, melyet sváci kutatók fejlesztettek és tettek ingyenesen elérhetővé. A szoftver szabadon letölthető ide kattintva, egyelőre csak MacOSX verziója létezik.

A fenti videót az előbb készítettem, hangot nem sikerült rögzíteni, úgyhogy csak egy némafilmet láthattok, viszont remélem látszik, mi történik. Csak egy gyors teszt a programmal, amelyen látszik a viszonylag egyszerű UI, azonban a lehetőségek száma gyakorlatilag végtelen. Egyszerre, egy térben maximálisan 8 különböző rajt tudunk “összeereszteni”, a tagok száma azonban határtalan, akár több million tagból is állhat egy raj. A tagok közötti kapcsolatokat, relációkat finoman hangolhatjuk a beállító paneleken, sőt, a nézetabakot is forgathatjuk kedvünkre. A kis tetraéderek a vonalak hegyén jelzik, hogy merre mutat a rajt vezérlő vektor. A különböző tagok, ha “közel” kerülnek egymáshoz, szomszédsági viszonyba lépnek, így mozgásukat innentől kezdve a velük kapcsolatba lépő szomszéd tagok is befolyásolják. A szomszédségi viszonyok ábrázolása ki- és bekapcsolható, és piros vonallal látszik a modelltérben.

Remélem ebből a rövid bemutatóból is látszik, mennyire jó kis eszközről van szó, amely rendkívül hatékony eszköz lehet nem csak érdekes virtuális terek kialakítására, de bonyolultann és komolyabb feladatok elvégzésére is, mint például egy populáció viselkedésére adott topológiai viszonok között. Feltett szándékom, hogy a közeljövőben valamelyik swarm-modellezési módszerrel létrehozott tárgyat 3D nyomtatással meg is valósítsam, minden bizonnyal felkerül majd ide a blogra is. Addig pedig következik majd a Grasshopper oktatóanyagok következő epizódja, tehát a generatív tervezés és parametrikus 3D modellezés iránt érdeklődőknek különösen tartalmas lesz az elkövetkező időszak. Természetesen, a 3D nyomtató ezen poszt írása alatt is folyamatosan működik, így a nem túl távoli jövőben további 3D nyomtatott parametrikus dizájntárgyak is várhatóak. Remélem mindenkinek jól telt a 3napos hétvége, minden jót mindenkinek;) peace

Reklámok

About bonooobong

parametric | architecture

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: