14
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINARSKI RAD IZ PREDMETA UVOD U TEORIJU KAOSA ZA INŽENJERE UVOD U FRAKTALE MLADEN PAUŠIĆ Zagreb, svibanj 2004.

Uvod U Fraktale by Mladen Pausic

Embed Size (px)

DESCRIPTION

Fraktalna matematika, logika i pojmovi fraktala, njutnovog broja

Citation preview

Page 1: Uvod U Fraktale by Mladen Pausic

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SEMINARSKI RAD IZ PREDMETA UVOD U TEORIJU KAOSA ZA INŽENJERE

UVOD U FRAKTALE

MLADEN PAUŠIĆ

Zagreb, svibanj 2004.

Page 2: Uvod U Fraktale by Mladen Pausic

Što su to fraktali? Fraktali su geometrijski oblici poput pravokutnika, kružnica i trokuta ali sa posebnim svojstvima koje ovi nemaju a to je svojstvo samosličnosti. To znači da fraktal može biti podjeljen u sitne djelove od kojih je svaki reducirana kopija veće cjeline. Osnova geometrije ovih triju oblika poznata je od doba Euclida (300 BC), dok je fraktalna geometrija mnogo mlađa (20. stoljeće). Fraktalne slike nastaju iteracijom tj. uzastopnim ponavljanjem nekog računskog ili geometrijskog postupka. Fraktali su, dakle, slike nastale ponovljenim matematičkim računom ili geometrijskom konstrukcijom. Primjeri iz prirode Mnogi objekti u pririodi nisu sačinjeni od jednostavnih geometrijskih oblika (pravokutnici, trokuti) već od kompliciranih geometrijskih figura. Kao primjeri fraktalnih oblika mogu se navesti obale, drveće, paprat, planine, oblaci, bakterije. Primjer ˝coastline paradox˝: Treba izmjeriti duljinu neke obale. Mjerenje se vrši sa mjerilima različitih duljina i za svako mjerenje se dobije različita vrijednost. Što je mjerilo manje, sa njime je moguće ući dublje u svaki zaljev i pukotinu, te će izmjerena vrijednost duljine obale biti veća. Kada bi mjerenje nastavili sa beskonačno malenim mjerilom, dobili bi beskonačno veliku duljinu obale. To su frakatali i fraktalne dimenzije. Baza - motiv Kod geometrijske konstrukcje fraktala, potrebno je poznavati bazu i motiv. Baza je bilo koji oblik koji je sastavljen od linijskih segmenata, dok je motiv neki drugi oblik koji se također sastoji od linija. Ako se svaka linija baze nadomjesti oblikom motiva, i taj proces nastavi u beskonačnost, dobije se fraktal. Nekoliko primjera:

Page 3: Uvod U Fraktale by Mladen Pausic

Sierpinski trokut Sierpinski trokut nastaje geometrijskom konstrukcijom počevši od jednakostraničnog trokuta (ne nužno) tako da se polovište svake stranice spoji sa polovištem susjedne stranice. Time se početni trokut dijeli na četiri jednaka dijela (trokuta), te potom ˝izvadimo˝ središnji trokut i nastavimo isti proces na preostala tri trokuta. Analogan postupak se može izvršiti nad bilo kojim n-terokutem.

Nakon prve itaracije ˝izvlači˝ se ¼ površine trokuta a ¾ površine ostaju, te se nad njima provodi daljnja iteracija. Lako je zaključiti da će nakon n-iteracija površina Sierpinski trokuta biti (0.75)n površine početnog trokuta. Nakon beskonačnog broja iteracija (n → ∞) površina trokuta bi iščezla.

Broj izbačenih trokuta u svakoj iteraciji možemo predvidjeti pomoću izraza: N = ∑−

=

1

0

n

k3 k

Sierpinski trokut možemo konstruirati i krivuljama ili ponavljanjem detalja.

Pascalov aritmetički trokut Veza Pascalovog trokuta i Sierpinski trokuta je vidljiva ako parne brojeve u Pascalovom trokutu označimo bijelom bojom a neparne crnom bojom.

Page 4: Uvod U Fraktale by Mladen Pausic

Chaos game Chaos game je algoritam kojega je osmislio Barnsley 1988 godine. Na slučajan način se bira točka unutar n-terokuta a zatim se označi točka dobivena kao odgovarajuća udaljenost imeđu početne točke i slučajno odabranog kuta tog n-terokuta.

Chaos game za Sierpinski trokut → Na slučajan način biramo jednu početnu točku X0 unutar trokuta i jednu točku sa vrhova trokuta (B) te na polovici duljine između tih točaka postavimo novu točku X1 (sada predstavlja novu početnu točku). Opet na slučajan način biramo točku sa vrhova trokuta (C) i na polovici duljine između točaka X1 i C postavljamo novu točku X2. Nakon velikog broja takvih iteracija točke počinju iscrtavati Sierpinski trokut.

XN+1 = (XN + rand(A,B,C))/2

500 dots 3000 dots 5000 dots 30000 dots Chaos game je moguće izvesti na bilo kojem n-terokutu, no rezultat nije uvijek fraktal. To ovisi o udaljenosti na koju se postavlja nova točka između početne točke i nasumice biranog vrha tog n-terokuta. (N = broj kuteva, r = udaljenost od početne točke do vrha nasumice izabranog kuta). N = 3, r = 1/2 N = 4, r = 2/5 N = 5, r = 1/3 N = 5, r = 3/8 N = 6, r = 1/3

N = 3, r = 1/2 N = 4, r = 1/2 N = 5, r = 1/2 N = 6, r = 1/2 N = 7, r = 1/2

N = 5, r = 1/4 N = 5, r = 2/5 N = 5, r = 1/2 N = 5, r = 3/5 N = 5, r = 3/4 N = 5, r = 9/10

Page 5: Uvod U Fraktale by Mladen Pausic

Kochova krivulja i pahuljica

Kochova krivulja nastaje kada liniju određene duljine podijelimo na tri jednaka dijela a zatim srednji dio zamjenimo sa dvjema novim linijama jednakih duljina kao dio linije koji je izbačen. Te nove dvije linije zatvaraju kut od 60°. Isti postupak ponavlja se sa svakom od novonastalih linija.

Na analogan način nastaje Kochova pahuljica počevši od oblika trokuta.

Broj linija u svakoj iteraciji raste četiri puta u odnosu na prethodnu iteraciju (3 → 12 → 48 → 192 → 768 → itd.). Svaki novonastali trokut pri nekoj iteraciji je devet puta manji po površini od trokuta na čijim je stranicama nastao. Zanimljivost Kochove pahuljice je njezin opseg koji je nakon svake iteracije sve veći i teži u beskonačnost, dok je površina pahuljice ograničena kružnicom koja opisuje početni trokut. Ta površina se može izračunati preko geometrijskog reda, uzevši u obzir površinu početnog trokuta ∆.

S∞ =

++++ ...

24316

274

311 ∆ =

+ ∑

=

k

k 0 94

311 ∆ =

+−

941

1311 ∆ =

58 ∆

Kochova anti-pahuljica

U ovom se slučaju srednji dio svake linije zamjenjuje sa dvije linije jednake duljine s time da su linije sada usmjerene prema unutra za razliku od Kochove pahuljice gdje su nove linije bile usmjerene prema van.

Kao i kod pahuljice, i u ovom slučaju broj linija u svakoj iteraciji raste četiri puta u odnosu na prethodnu iteraciju.

Page 6: Uvod U Fraktale by Mladen Pausic

Primjeri sličnih fraktala: Exterior pahuljica

Gosperov otok

Minkowski – Kochov otok

Cesaro pahuljica

Sierpinski krivulja

Sierpinski križ

Page 7: Uvod U Fraktale by Mladen Pausic

Pentaflake

Box fraktali

Sierpinski sag

Mengerova spužva

Page 8: Uvod U Fraktale by Mladen Pausic

Pitagorina stabla Simetrično stablo Kvadratu se pridodaje jednakokračni trokut (45-45-90)°, zatim se na njegove katete pridodaju novi kvadrati, a potom opet trokuti. Iteracija se neprestano ponavlja.

Asimetrično stablo (lijeva brokula)

Asimetrično stablo (desna brokula)

Kod konstrukcije asimetričnog stabla, kvadratu se pridodaje pravokutni trokut (30-60-90)°, zatim se na njegove katete pridodaju novi kvadrati, i tako dalje u nedogled. Pitagorina jela Kombiniranjem iteracije iz lijevog i desnog asimetričnog stabla, tj. naizmjeničnim zakretanjem kateta trokuta u lijevo a zatim u desno, dobije se fraktalni oblik Pitagorine jele.

Page 9: Uvod U Fraktale by Mladen Pausic

Dragon krivulja Ova se krivulja može dobiti vrlo jednostavnim pokusom pomoću tanke papirnate trake koju uzastopno presavijamo na pola uvijek u smjeru lijevo. Zatim ju odmotamo i razvijemo tako da mjesta presavijanja tvore pravi kut vodeći računa da je taj kut u smjeru presavijanja. Konstrukcija dragon krivulje (iteracije 1–6): 1. 2. 3. 4. 5. 6.

Napomena: slike su samo orijentir pri izradi dragon krivulje, duljina pojedine linije svake sljedeće iteracije je duplo manja od duljine linije prethodne iteracije, tako da je duljina linije prve iteracije 32 puta veća od duljine linije šeste iteracije (na slikama su prikazane duljine jednake).

Svaka iteracija nastaje spajanjem dvije kopije prethodne iteracije, i to tako da rotiranjem zakrećemo jednu kopiju za 90° i njen početak naliježe na kraj prve kopije (slika prikazuje primjer izrade 5. iteracije pomoću dvije kopije 4. iteracije). Svojstva i gdje je tu samosličnost?

• Svaka iteracija ponavlja prethodnu spajanjem dviju kopija prethodne i rotiranjem za 90°. • Svaka iteracija ima dva puta više linija od prethodne iteracije (automatski povlači da svaka

iteracija ima dva puta manju duljinu linije od duljine linije prethodne iteracije). • Nikada ne dolazi do presjecanja dviju ili više linija (kvadrati na slici nastaju prislanjanjem

linija a ne presjecanjem) • Postoji pravilno i predvidivo ponašanje linija i smjera kuteva.

Kako objasniti svojstvo predvidivog ponašanja linija i smjera kuteva? Krećemo od prve iteracije i pratimo smjer zakretanja linija. U prvoj iteraciji vidimo da linija skreće u desno te joj dodijelimo oznaku D. U drugoj iteraciji linija se u prvom skretanju ponaša kao i u prvoj iteraciji (D) a zatim slijede još dva skretanja, prvo desno (D) a zatim lijevo (L). Moguće je uvesti tri pravila:

• Sredina svake iteracije je skretanje u desno (D) • Oznake s lijeve strane od sredine (D) su oznake od prethodne iteracije • Oznake s desne strane od sredine (D) su oznake komplementarne onima s lijeve strane.

D D-D-L

D-D-L-D-D-L-L D-D-L-D-D-L-L-D-D-D-L-L-D-L-L

D-D-L-D-D-L-L-D-D-D-L-L-D-L-L-D-D-D-L-D-D-L-L-L-D-D-L-L-D-L-L

Page 10: Uvod U Fraktale by Mladen Pausic

Izgled dragon krivulje nakon 12 iteracija: Izgled dragon krivulje nakon 17 iteracija:

Primjeri sličnih fraktala

a) presavijanje na pola, prvo u lijevo pod 90° a zatim u desno pod 120° b) presavijanje na pola, prvo u lijevo pod 90° a zatim u desno pod 90° c) presavijanje na pola, prvo u lijevo pod 60° a zatim u desno pod 120° d) presavijanje na pola, uvijek u lijevo pod 100°

Page 11: Uvod U Fraktale by Mladen Pausic

Hilbertova krivulja Hilbertova krivulja spada u skupinu space-filling krivulja koje ispunjavaju neku površinu nakon određenog broja iteracija. U ovom slučaju radi se o površini kvadrata. Proces započinje krivuljom oblika kao na slici a). U svakoj narednoj iteraciji duljina svake linije se smanjuje za pola u odnosu na prethodnu, a broj krivulja prethodne iteracije se povećava četiri puta. Time nastaju nove četiri krivulje oblika kao u prethodnoj iteraciji, od čega su dvije gornje krivulje istog smjera kao i početna, dok su dvije donje krivulje rotirane za 90° u desno odnosno u lijevo. Zatim se krajevi susjednih krivulja spoje kao na slici b). Proces se nastavlja istim pravilima. a) b) c)

Algoritam po kojem se ponaša ovakva krivulja zove se Lindenmayer System (L-system). Hilbertova S-krivulja

Primjeri sličnih space-filling krivulja : H-fraktal

Page 12: Uvod U Fraktale by Mladen Pausic

Peano krivulja

Peano-Gosper krivulja

Lévy fraktal (C krivulja)

Lévy sag (tapiserija)

Page 13: Uvod U Fraktale by Mladen Pausic

Ledeni fraktali Kod ovih fraktala se simulira nastanak motiva ledenih iglica bilo izvan ili unutar baze fraktala. Ice trokut

Anti-Ice trokut

Ice četverokut

Anti-Ice četverokut

Page 14: Uvod U Fraktale by Mladen Pausic

Reference: Mervan Pašić – Uvod u teoriju kaosa za inženjere, Predavanje 6 (PDF) http://mathworld.wolfram.com http://math.rice.edu/~lanius/frac/ http://math.bu.edu/DYSYS/ http://cs.unm.edu/~joel/PaperFoldingFractal/ Za ispravan rad Mathematica notebooka sa primjerima iz ovog seminarskog rada, potrebno je skinuti paket funkcija ˝Fractal.m˝ sa adrese http://mathworld.wolfram.com/notebooks/notebooks/Fractal.m Paket nije obuhvaćen verzijom Mathematice 5.0, a u intelektualnom je vlasništvu Erica W. Weisteina. Paket kopirati u folder Mathematica/version/AddOns/StandardPackages