Principi generisanja fraktalnih krivih – III faza

Crtanje u dvodimenzionalnom prostoru

Istraživanje je primenjeno za razvijanje algoritma u programu Rhinoceros/Grasshopper, što se može videti u prilogu ispod.
Kao što je objašnjeno u prvom postu, prvo je nacrtana kriva u nultoj iteraciji u kvadratnoj mreži, i pomoću alatki Flip, Rotate, Join i Mirror formirana je kriva, tj. modul koji popunjava čitavu mrežu u istoj iteraciji.

Sledeća iteracija se bazira na skaliranju modula za 50%, i ponavljanje istog procesa – povezivanje prva dva modula alatkom Join-crtanje te strukture u drugom delu mreže alatkama Rotate, Mirror i Flip, i povezivanje nove strukture u jednu celinu.

Jedan od glavnih elemenata koji je na kraju postavljen je alatka Loop sa dve komponente – Start i End, koja omogućava kontrolisanje broja ponavljanja ovog procesa.GRASSNa snimku ispod je prikazan način funkcionisanja ovog algoritma. Putem alatke Loop i komponente Repeat, izvršene su četiri iteracije – broj ponavljanja procesa označava broj  iteracija. Nakon osme iteracije, kvadratna mreža bi bila “obojena”, tačnije kriva bi popunila toliki deo ove mreže da prazni prostori ne bi bili vidljivi ljudskom oku.

 

Crtanje u trodimenzionalnom prostoru

Istraživanje je primenjeno za razvijanje algoritma u programu Rhinoceros/Grasshopper, što se može videti u prilogu ispod.

Putem ispisanih formula za formiranje modula i njegovo kopiranje u prostoru; i finalnim korišćenjem alatke Turtle kreiran je algoritam za razvijanje Hilbertovu krive u tri dimenzije.grass3d

Na snimku je prikazan razvoj krive u prostoru, sa tim da dužina krive ostaje konstantno ista. Dakle, u ovom slučaju će nova iteracija popuniti za 50% više prostora, a sama prostorna mreža neće postati gušća, kao što je to bilo u prethodnom slučaju.


Finalni produkt istraživanja jeste fraktalna kriva u prostoru, koji se može dalje menjati korišćenjem različitih parametara u programima kao što su 3Ds Max i Rhinoceros/Grasshopper.

Principi generisanja fraktalnih krivih – II faza

Istraživanje krivih

Hilbertova kriva
Posle iscrtavanja mreže u programu SketchUp, razvila sam Hilbertovu krivu i u trećoj dimenziji. Poenta je u ponavljanju modula prikazanog na drugoj slici, i povezivanjem istih modula nakon prethodnog rotiranja istog (princip kopiranja i rotacije na nivou dve dimenzije objašnjen je u prvom postu).
Screenshot_2 Screenshot_3 Screenshot_4

Kriva oblika Z

Istim principom ponavljanja osnovnog modula je stvoren prostor korišćenjem druge vrste fraktalne krive, iako se u ovom slučaju krive kroz 3D prostor kreću na drugi način.

Postavila sam “Z” liniju u svaki kvadrat prethodno nacrtane mreže. Nakon toga sam povezivala ove dvodimenzionalne strukture pomoću kosih linija – svaki kraj svake Z-linije je povezan sa drugom Z-linijom, često po različitim nivoima.
Screenshot_6 Screenshot_7 Screenshot_8

Na slikama ispod se može primetiti razlika u strukturama nastalih razvijanjem krive oblika Z(levo) i Hilbertove krive (desno). Primetila sam da prva struktura nastaje dijagonalnim povezivanjem prethodno nacrtanih i postavljenih modula u prostornoj mreži, dok se druga struktura može nacrtati jednom linijom u kontinuitetu ukoliko se poštuje osnovno pravilo.

Screenshot_10 Screenshot_11

Modelovanje

U narednoj fazi, bavila sam se pravljenjem modela u 3Ds Maxu:
Prvi slučaj je korišćenje već napravljene linije konvertovane u Spline, i dodatnog oblika – kružnice. Opcijom Extrude Along Spline se ova kružnica kreće po nacrtanoj krivoj. Prednost jeste mogućnost promene debljine linije na nasumičnim delovima strukture – tako krajnje rešenje može biti zanimljivije (levo).

Druga opcija je Sweep, za koju sam se i odlučila. Prednost ove opcije jeste biranje oblika koji se kreće po liniji, tačnije mogućnost promene tog oblika, i njegove veličine i nakon “popunjavanja” strukture. (desno)

extrudeScreenshot_13

U prilogu se mogu videti rešenja korišćenjem opcija kao što je Turbosmooth (1) koji menja strukturu ublažavajući strogoću ortogonalnog kretanja krive. Takođe postoje opcije kao što je Taper (3) koji menja oblik čitave strukture.
Screenshot_15Screenshot_19

Sledeća faza jeste proširivanje strukture van granica prostorne mreže oblika kocke, korišćenjem istraženog principa crtanja.
Dakle, nasumičnim izborom sam dalje nastavljala rotiranje postojećeg modula, i na kraju spojila dva kraja krive kako bih dobila zanimljiviju strukturu. Krajnji rezultat je zanimljiva struktura koja ne popunjava jednostavni oblik kao što su kocka ili kvadar.

Na snimku je prikazano “razmotavanje” ove strukture iz jedne zatvorene linije. (opcija Relax)

Principi generisanja fraktalnih krivih – I faza

Oblast istraživanja

Tema istraživanja su fraktalne krive koje posle određenog broja iteracija mogu potpuno da pokriju dvodimenzionalni ili trodimenzionalni prostora u kome se nalaze, kao i njihovo crtanje u određenoj mreži korišćenjem različitih programa.

U dvodimenzionalnom smislu, ovu krivu je moguće napraviti ukoliko se jednostavno, olovkom vuče neprekinuta linija na pravilan način, koja će na kraju pokriti ceo list papira.
Ovaj tip krivih je u širokoj upotrebi u računarstvu, i postoje Hilbertova, Peanova, kriva Sierpinskog, Zmajolika kriva i druge, koje nastaju nakon beskonačno mnogo iteracija.

Princip formiranja Hilbertove krive
princip crtanja

Izvor: https://www.youtube.com/watch?v=DuiryHHTrjU&list=PLDHvKhCGy3DsbW4SdfgCDJo_FY2g1ToMo&index=4

Problem istraživanja

Nakon istraživanja principa crtanja krive u okviru kvadratne mreže u AutoCAD-u, sledeći korak je bio formiranje algoritma koji određuje kretanje krive u prostoru. Glavni deo pri crtanju krive u dve dimenzije je određivanje prve iteracije, a potom i principa na koji se popunjava prostor u sledećim iteracijama.

Drugi deo istraživanja se bazira na formiranju 3D strukture, po principu crtanja krive po prethodno određenoj prostornoj mreži kako bi se taj prostor popunio.

Ciljevi

Cilj rada jeste istraživanje fraktalnih krivih i principa formiranja prostora nakon određenog broja iteracija. Rezultat je formiranje algoritma i formula koje određuju princip crtanja krive.
Jedan od ciljeva je i pronalaženje načina stvaranja prostora koji nije u obliku kocke, sa idejom da se takav postupak može primeniti pri dizajniranju određenog komada nameštaja, kao što je npr. trpezarijski ili klub sto za dnevnu sobu.