1 / 49

Fraktali

Fraktali. Kaj je fraktal. Fraktal je geometrični konstrukt, za katerega velja pri različnih nivojih podrobnosti samopodobnost. . Nekaj o kompleksnosti. Nekaj o kompleksnosti (2).

les
Download Presentation

Fraktali

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fraktali

  2. Kaj je fraktal Fraktal je geometrični konstrukt, za katerega velja pri različnih nivojih podrobnosti samopodobnost.

  3. Nekaj o kompleksnosti

  4. Nekaj o kompleksnosti (2) V ilustracijo poglejmo spodnja dva grafa. Že po 40 iteracijah se zelo razlikujeta, čeprav je bil njun začetni potek navidezno enak.

  5. Bifurkacija in periodičnost Demo

  6. Teorija kaosa Teorija kaosa temelji na tem, da lahko majhne spremembe povzroče velika nihanja. Res je sicer, da ne moremo napovedovati natančnega stanja nekega sistema, lahko pa modeliramo splošno obnašanje takega sistema. Lorenz je študiral sisteme enačb.Tako je za področje fluidne dinamike uporabil naslednji poenostavljeni sistem enačb: dx/dt = delta * (y - x)dy/dt = r * x - y - x * z dz/dt = x * y - b * z Pri tem je Lorenz oporabil naslednje parametre: delta = 10 r   =      28 b  =     8/3 Diferencialne enačbe - kaos Demo Kaos in fraktali - nihalo Demo Kantorjeva množica Lorenzov atraktor Demo

  7. Lastnosti fraktalov Ena od lastnosti je samopodobnost oziroma ponavljanje vzorcev pri vseh povečavah. Druga tipična lastnost je neskončna kompleksnost podrobnosti. Formalna definicija fraktala uvaja še pojem fraktalske dimenzije. 

  8. Samopodobnost fraktalov • Deli so pomanjšane verzije celotnega objekta • Za dele delov uporabljajmo enake povečave • Za dele delov uporabljajmoi različne povečave • Statistična samopodobnost • na delih uporabimo naključne variacije • Drevesa, grmi, druga vegetacija Samopodobnost (Mandelbrot) Video Samopodobnost (Lorenz) Video Samopodobnost (Mandelbrot) Video

  9. Fraktalska dimenzija • D=fraktalska dimenzija • Količina spremembe v strukturi • Merilo htrapavosti ali fragmentacije objekta • majhna d – manj nazobčano • Velika d – bolj nazobčano • s= faktor pomanjšanja (scaling factor) • n število delov v razdelitvi • d=log(n)/log(1/s) Fraktalska dimenzija (Anglija) Demo Fraktalska dimenzija (Kochova snežinka) Demo

  10. Fraktalska dimenzija Točka: D = 0, N=1, s=1/2 Črta: D = 1, N=2, s=1/2 Kvadrat: D = 2, N=4, s=1/2 N = (1/s)D log N = D log (1/s) D = log(N)/log(1/s) Kocka: D = 3, N=8, s=1/2 • Črto razdelimo v s enakih segmentov, dobimo n črt: n=s • Razdelitev kvadrata: Če stranice delimo na s manjših stranic, dobimo • n=s2majhnih kvadratov • Razdelimo kocko, dobimo • n=s3malih kockic

  11. Dimenzija fraktala: primeri N=2 s=1/3 D = log 2/log 3 D = .6... N=4 s=1/3 D = log 4/log 3 D = 1.262 • Kochova snežinka • Po delitvi s 3 imamo 4 segmente • D=log4/log3 = 1.262

  12. Vsako stranico delimo z 2 Dobimo 4 trikotnike Obdržimo 3, torej je n=3 Iz enega trikotnika smo dobili 3 s=2 (2 nova segmenta iz enega starega) Fraktalska dimenzija D=ln(3)/ln(2) = 1.585 Dimenzija fraktala Sierpinski

  13. Dimenzija fraktala "kocka" • Uporabimo algoritem • Vsako stranico delimo s 3 • Izločimo srednjo kocko na vsaki strani • Izločimo kockico v sredini • Kakšna je torej fraktalska dimenzija? • Vsako stranico smo delili s 3. Torej s = 3, • Dobili smo 27 kockic, vendar smo 7 izločili: n = 20 • Fraktalska dimenzija: ln(20)/ln(3) = 2.727

  14. Newtonov fraktal Video Demo

  15. Mandelbrotov fraktal Mandelbrotova množica je graf vseh kompleksnih števil c, ki ne zbeže v neskončnost, če iteriramo funkcijo z= z 2 + c, Za začetno vrednost z vzamemo: z =0 + 0i.

  16. Juliajeve množice kakšna je razlika med Julijajevimi množicami in Mandelbrtovo množico? Tako pri Mandelbrotovi množici kot pri Julijajevih množicah uporabljamo isto iterativno funkcijo: zn+1= zn ^ 2 - c pri čemer sta z in c kompleksni števili oblike a + ib in i je kvadratni koren od -1. Razlika je v uporabi formule. Vsaki točki kompleksne ravnine ustreza ena Julijajeva množica. Tako lahko na mandelbrotovo množico gledamo kot na "indeks" Julijajevih množic. vsaki točni v Mandelbrotovi množici ustreza ena Julijajeva množica. Juliajeva množica je graf vseh kompleksnih števil z, ki ne končajo v neskončnosti, če iteriramo f(z) -- > z 2 + c, pri čemer je c konstantna. Video

  17. Razmerje med Mandelbrotom in Juliajem Demo

  18. 3D prikaz Mandelbrotovega fraktala Demo

  19. Demo Dragon Ply orbit Demo Demo Gingerbreadman Hopalong orbit Demo Popcorn Demo IFS – iterirani funkcijski sistemi IFS pomeni "Iterated Function System." Fraktale tega tipa dobimo z uporabo številnih funkcij. Lahko so večdimenzijski, čeprav jih najbolj pogosto rišemo v 2D. IFS fraktal je unija več kopij samega sebe, pri čemer je vsaka kopija transformirana z neko funkcijo (odtod tudi ime funkcijski sistem). Funkcije običajno krčijo, kar pomeni, da točke približujejo drogo drugi oziroma da delajo manjše like. Zato je oblika IFS fraktala sestavljena iz manjših kopij, ki se lahko tudi prekrivajo. Vsaka kopija pam je spet sestavljena iz še manjših kopij, tja do neskončnosti. In to je izvor samopodobnosti takih fraktalov. Pri IFS fraktalih se izkaže, da izbira začetne točke ne vpliva preveč na obliko fraktala. Tako lahko fraktal definiramo kar s pravili za tvorbo naslednjih točk, lahko pa vključimo še nekaj naključnosti.

  20. Iterativni proces

  21. Trikotnik Sierpinskega

  22. Kako tvorimo trikotnik Sierpinskega Korak 1: Narišemo enakostraničen trikotnik. Stranice razpolovimo in srednje točke povežemo. Koliko enakostraničnih trikotnikov dobimo? Pobarvamo zunanje trikotnike in srednjega tako izločimo (naredimo luknjo).

  23. Kako tvorimo trikotnik Sierpinskega Korak 2: V vsakem od polnih trikotnikov postopek ponovimo: razpolovimo stranice, povežemo srednje točke in izločimo centralni trikotnik (dobimo 3 nove luknje).

  24. Drevesa Demo L – sistem fraktali Demo

  25. L – sistem fraktali Fraktale delamo z odseki črt (line segments) in uporabo primernih pravil. Ta pravila vsebujejo ukaze, kot: draw forward, move forward, turn by a specified angle, itd. Začetni ukaz zapišemo z nizom, ki mu pravimo aksiom. Aksiom lahko naslavlja dodatne ukaze (nize), ki so sami spet lahko rekurzivni. Aksiom izvajamo zato rekurzivno. V vsaki iteraciji zamenjamo vsako črto z vsemi ukazi iz aksioma.

  26. L system fraktali Definirajmo nekaj ukazov, tvorimo aksiom in poglejmo, kaj smo "ustvarili":     Kot n             Rotacija za 360/n stopinj    +                        Rotacija v obratni smeri od urinega lazalca    -                         Rotacija v smeri urinega kazalca    F                        Rišemo naprej (Draw forward)    G                       Premik naprej (Move forward)    Cnn                  Izbira barve nn    <nn                    Barvo povečamo za nn    >nn                    Barvo zmanjšamo za bnn Z naslednji pravili bi dobili Kochovo snežinko Kot 6    Aksiom: F--F--F   pravilo zamenjave: F=F>1+F--F+F Razlaga: Vzamemo aksiom "F-F-F" in v njem vsak F nadomestimo z " F>1+F--F+F" Zato v naslednji iteraciji dobimo: "F>1+F--F+F - F>1+F--F+F -F>1+F--F+F Spet vse F zamenjamo z "F>1+F--F+F" in dobimo naslednjo iteracijo...

  27. L system fraktali: še en primer Z naslednjimi pravili bi dobili "zmaja" (dragon).     Kot 8    Aksiom: FX    Pravila zamenjave v vsaki iteraciji: F=>1    Y=+FX--FY+    X=-FX++FY-

  28. Drevesa 2 Demo L system fraktali: tvorba drevesa

  29. Kvaternionski fraktali Mandelbrotova množica in vrsta drugih fraktalov temelji na uporabi kompleksnih števil, ki imajo dve komponenti in jih lahko prikažemo v dveh dimenzijah. Kvaternioni so spremenljivke, ki imajo 4 komponente. Prikažemo jih lahko v 4 dimenzijah. Seveda ne moremo prikazati 4 dimenzionalnega fraktala, lahko pa prikažemo njegovo 3 dimenzionalno "rezino" Video Video

  30. Kvaternionski fraktali Goblin Park The fractal sculpture was created from two Fractal Zplot quaternions, stone texture from a Dofo-Zon Elite fractal, and the trees behind the river from l-system fractals by L-System and Fractal Zplot. The rest of the scene and rendering by Vue d'Esprit.

  31. Kvaternionski fraktali Dancers  A fractal sculpture using two versions of a complex quaternion fractal by QuarSZ; scenery and rendering by Vue d'Esprit.

  32. Uporaba fraktalov • Teksture • Pokrajine • Posebni efekti • Fraktalska glasba • Fraktalska kompresija

  33. Marmor Ken Perlin, 1985

  34. Fraktalske gore • Displacement mapof meshed plane • Can also be formed using midpoint displacement Ken Musgrave Gunther Berkus via Mojoworld

  35. Oblaki - voda Gunther Berkus via Mojoworld

  36. Ogenj Ken Musgrave

  37. Planeti Ken Musgrave

  38. Mesečev vzhod Ken Musgrave

  39. Fraktalska glasba Fraktalsko glasbo lahko dobimo tako, da s šumom, ki ga predstavlja, primerno popravimo višino tona nekega glasbila, lahko pa z nekim drugim šumom tudi vplivamo na dolžino posameznih not. Audio Audio Audio Audio Audio

  40. Primer Mandelbrotove uglasbitve Najprej izračunamo del Mandelbrotove množice. Matematične podatke  interpretiramo kot podatke midi. Večje, kot je število iteracij, višji je na primer ton.  Audio

  41. Fraktalska kompresija

  42. Zakaj fraktalska kompresija slik • Smiselne so raziskave različnih tehnik kompresije • Izkorišča podobnosti znotraj slike • Napredna interpolacija podrobnosti • Rezultirajoča slika bo imela optimalno resolucijo, podobno originalu in ne bo kockasta. • Visoka teoretična stopnja kompresije • Hitri časi dekompresije

  43. Matematično ozadje • Iščemo množico transformacij, ki preslikajo sliko samo vase. • Temelji na teoremu "Collage" • če je razlika v napaki med ciljno sliko in transformacijo te slike, je transform (preslikava) ekvivalentna predstavitev te slike.

  44. Kako deluje?-kodiranje • vzamemo začetno sliko in jo razdelimo v manjše kvadratke, ki se ne prekrivajo. Pravimo jim "starševski bloki”. • Vsak starševski blok razdelimo na 4 nove bloke – otroke. • Vsakega od otrok primerjamo z množico vseh blokov velikosti starša. Compare each child block against a subset of all possible overlapping blocks of parent block size. • Velikost starša moramo zmanjšati, če hočemo to primerjati. • Ugotavljamo, kateri od večjih blokov ima najmanjšo (in dovolj majhno) razliko v primerjavi s tem blokom- otrokom. • Računamo "grayscale transform", da uskladimo nivoje intenzivnosti med večjim blokom in blokom-otrokom. Tipično uporabimo za usklajevanje nivoje sivin afino transformacijo (w*x = a*x + b).

  45. Kako to deluje? – kodiranje • Zgornji levi blok- otrok je zelo podoben zgornjemu levemu starševskemu bloku. • Izračunamo afino transformacijo. • Shranimo lokacijo starševskega bloka (bloka, ki ga transformiramo), komponente afine transformacije in obravnavani blok-otrok. • To ponovimo z vsakim blokom-otrokom. • Veliko primerjav in računanja. • 256x256 originalna slika • 16x16 velikost starševskih blokov • 241*241 = 58,081 primerjav blokov

  46. kako to deluje?- Dekodiranje • Beremo blok-otrok in položaj transformiranega bloka ter podatke o transformaciji in velikosti. • Začnemo s prazno sliko, ki je po velikosti enaka originalni sliki • Za vsak blok-otrok uporabimo pomnjene transforme in primerno transformiramo pšodani transformiran (starševski) blok. • Piksle bloka-otroka prekrijemo s piksli transformiranega bloka • Postopek ponavljamo, dokler ne dosežemo sprejemljive kvalitete slike.

  47. kako to deluje? – dekodiranje - primer Prva iteracija Začetna slika za dekodiranje Originalna slika Druga iteracija Peta iteracija Deseta iteracija

  48. Fraktalska kompresija slik - povzetek • Fraktalska kompresija je zelo kompleksna tehnika. • Temelji na transformacijibitne slike v vektorsko matematično predstavitev z uporabo iterativnih funkcijskih sistemov. • Fraktalska kompresija je asimetrična, saj je faza kompresije precej počasnejša od dekompresije. Dekompresija je v bistvu kar algoritem upodabljanja. • Prednosti freaktalske kompresije so dobro razmerje zgoščevanja, ki terja le majhno poslabšanje kvalitete slike ter zmožnost povečevanja slike (tako, kot to velja za vektorske formate) brez dodatnega šuma ali izgube informacije.

  49. Možne izboljšave • Šibka točka je čas za kodiranje • Možne pospešitve • Razvrstitev transformacijskih blokov glede na povprečno intenzivnost in varianco • Iskanje le po blokih s podobno strukturo • Zmanjševanje števila blokov-otrokov • Izboljšanje kvalitete kompresije s pomočjo • Štiriških dreves, HV dreves • Rotacije transformacijskih blokov med primerjavo • Izboljšanimi transformi "grayscale"

More Related