10.02.2014 Views

Fraktale 3D

Fraktale 3D

Fraktale 3D

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Fraktale</strong> <strong>3D</strong><br />

Tomasz Mazurek<br />

promotor: dr inż. Tomasz Martyn


Plan prezentacji<br />

● Wstęp do geometrii fraktalnej.<br />

● Krótki przegląd fraktali 2D.<br />

– konstrukcje klasyczne;<br />

– atraktory IFS;<br />

– L-systemy;<br />

– zbiory Julii i Mandelbrota;<br />

– zastosowania fraktali.<br />

● <strong>Fraktale</strong> <strong>3D</strong><br />

– uogólnienie atraktorów IFS i L-systemów na<br />

trzy wymiary;<br />

– kwaternionowe zbiory Julii i Mandelbrota (Tetrabrot);<br />

– techniki wizualizacji.


Definicja fraktala<br />

Fraktal (wg Mandelbrota) – obiekt geometryczny<br />

posiadający cechę samopodobieństwa, którego<br />

wymiar nie jest liczbą całkowitą.<br />

Problem – co oznacza termin „samopodobieństwo” i<br />

jak wymiar może nie być całkowity?


Definicja samopodobieństwa<br />

Samopodobieństwo – oznacza, że część obiektu jest<br />

podobna do całości.<br />

Jest to nadal definicja nieścisła:<br />

– jakie jest kryterium wyboru części do porównania?<br />

– jakiej definicji podobieństwa używamy?


Wymiar niecałkowity?<br />

Istnieje wiele definicji wymiaru, m.in.:<br />

– wymiar topologiczny;<br />

– wymiar pojemnościowy;<br />

– wymiar samopodobieństwa;<br />

– wymiar Hausdorfa-Besicovitcha.<br />

Większość z definicji wymiarów dopuszcza<br />

wymiary niecałkowite.


Samopodobieństwo odcinka<br />

Związek między liczbą<br />

fragmentów, a<br />

współczynikiem redukcji.<br />

a= 1 s D<br />

D= loga<br />

log1/ s =log3 log3 =1


Krzywa Kocha<br />

Dla krzywej Kocha D nie jest<br />

całkowite!<br />

D= loga<br />

log1/ s =log4 log3 ≈1,2619


Wymiar Hausdorfa<br />

Tzw. wymiar fraktalny. Trudny do obliczenia,<br />

wymaga dodatkowych definicji.<br />

∞<br />

h s A=inf {∑<br />

i =0<br />

diamU i<br />

s }<br />

h s A=lim<br />

s0<br />

h s A


Zbiór Cantora<br />

Daje w granicy pył<br />

punktów – zbiór<br />

równoliczny z<br />

odcinkiem, ale nigdzie<br />

gęsty.


Krzywa Hilberta<br />

Jedna z krzywych<br />

wypełniających<br />

przestrzeń – stanowi<br />

dowód równoliczności<br />

kwadratu i odcinka.


Trójkąt Sierpińskiego


Atraktory IFS<br />

Układ IFS - skończony zbiór przekształceń w 1<br />

, ...,<br />

w n<br />

działających na zbiorach punktów, postaci:<br />

x n1<br />

=a∗x n<br />

b∗y n<br />

c y n1<br />

=d∗x n<br />

e∗y n<br />

d


Atraktory IFS<br />

Operator Hutchinsona – suma poszczególnych<br />

operatorów w i<br />

. Działa również na zbiorach<br />

punktów.<br />

W A=w 1<br />

A∪w 2<br />

A∪...∪w N<br />

A


Atraktory IFS<br />

Atraktor IFS to zbiór będący niezmienniczym pod<br />

wpływem operatora Hutchinsona W(A). W(A)<br />

przekształca punkty atraktora w inne punkty<br />

atraktora. Dla klasy przekształceń zwanej<br />

przekształceniami zwężającymi atraktor jest<br />

osiągalny przez przekształcanie dowolnego zbioru<br />

początkowego.


Trójkąt Sierpińskiego<br />

Trzy przekształcenia:<br />

w 0<br />

x , y = x /2−0,25 , y/2<br />

w 1<br />

x , y = x /20,25 , y/2<br />

w 2<br />

x , y =x /2, y /23/4


Paprotka Barnsleya<br />

Cztery przekształcenia:<br />

w 1<br />

: sx=0,5sy =0,25=80tx =−0,1ty=0,1<br />

w 2<br />

: sx=0,875sy=0,833 =−2tx=0ty=0,33<br />

w 3<br />

: sx=−0,5 sy =0,25=80tx =0,1ty=0<br />

w 4<br />

:sx =0,01 sy=0,2=1tx =0ty=−0,25


Kompresja fraktalna<br />

●<br />

●<br />

●<br />

●<br />

koncepcja zapisu danego obrazu za pomocą wzoru<br />

na fraktal;<br />

realizowalna za pomocą IFS rozszerzonej o<br />

pojęcia jasności i kontrastu;<br />

zawsze możliwa do realizacji – w najgorszym<br />

przypadku za pomocą w*h przekształceń;<br />

problemem pozostaje minimalizacja liczby<br />

przekształceń.


L-systemy<br />

L-systemy zostały opracowane przez Aristida<br />

Lindenmayera do opisu wzrostu roślin. Są opisane<br />

jako zbiór produkcji nad pewnym alfabetem, wraz<br />

z symbolem początkowym (aksjomatem).<br />

Produkcje są postaci:<br />

Symbol Ciąg<br />

symboli


L-systemy<br />

Np. krzywa Kocha może być opisana<br />

L-systemem nad alfabetem +, -, F z aksjomatem F<br />

i z jedną znaczącą produkcją:<br />

F FF−−FF


L-systemy<br />

L-systemy z<br />

odpowiednio<br />

dobranym alfabetem i<br />

produkcjami mogą<br />

tworzyć bardzo<br />

realistyczne obrazy<br />

roślin.


Zbiory Julii<br />

Zbiory Julii to granice tzw. basenów przyciągania<br />

dla atraktorów iterowanych przekształceń w<br />

dziedzinie liczb zespolonych. Najpopularniejsze<br />

są przekształcenia postaci:<br />

z n1<br />

= z n 2 c


Zbiory Julii<br />

Basenem przyciągania nazywamy taki podzbiór<br />

dziedziny przekształcenia (tu płaszczyzny<br />

zespolonej), którego wszystkie punkty w granicy<br />

dążą do atraktora.<br />

Typowy algorytm wizualizacji polega na wykonaniu<br />

np. 100 iteracji dla każdego punktu i sprawdzeniu,<br />

czy punkt uciekł z pewnego otoczenia punktu 0.


-0.824 - 0.1711i


0.300283 + 0.48857i


0.3245+0.04855i


Zbiór Mandelbrota<br />

Można zaobserwować (i udowodnić), że w<br />

zależności od parametru c zbiory Julii są albo<br />

spójne, albo stają się pyłem punktów. Można<br />

udowodnić, że zależy to od zachowania punktu 0<br />

+ 0i. Jeżeli punkt ten w trakcie iteracji ucieka do<br />

nieskończoności, to zbiór Julii jest pyłem<br />

punktów, a w przeciwnym wypadku jest spójny.


Zbiór Mandelbrota<br />

Mandelbrot postanowił wykonać „mapę” zbiorów<br />

Julii ustalając z 0<br />

=0+0i i iterując po parametrze c.<br />

Uzyskany zbiór okazał się sam posiadać własności<br />

fraktalne oraz wiele ciekawych własności<br />

matematycznych. Jest on znany pod nazwą<br />

„Zbioru Mandelbrota”.


Zbiór Mandelbrota


-0.415-0.683i


Samopodobieństwo


Zastosowania fraktali<br />

●<br />

●<br />

●<br />

●<br />

●<br />

Dostarczanie wrażeń estetycznych.<br />

Poszukiwanie nowych faktów metematycznych.<br />

Język opisu kształtów i procesów przyrody.<br />

Kompresja obrazów rzeczywistych.<br />

Generowanie obrazów udających rzeczywiste.


<strong>Fraktale</strong> <strong>3D</strong><br />

Co nam daje trzeci wymiar?<br />

● Więcej wrażeń estetycznych.<br />

● Poszukiwanie faktów matematycznych dla<br />

większej liczby wymiarów lub uogólnianie<br />

istniejących.<br />

● Opis przyrody w trzech wymiarach.<br />

● Kompresja danych <strong>3D</strong>.<br />

● Generowanie obiektów przestrzennych.


Trójwymiarowe L-systemy<br />

Obecnie standardowa metoda generacji<br />

trójwymiarowych drzew. Wymaga pewnych<br />

rozszerzeń alfabetu i produkcji:<br />

● litery parametryczne, np. R[30, 5];<br />

● produkcje niedeterministyczne;<br />

● obsługa gałęzi przez nawiasowanie '(' rozpoczyna<br />

gałąź, a ')' ją kończy;<br />

● pojęcie wieku elementu.


Trójwymiarowe L-systemy


Trójwymiarowe L-systemy


Trójwymiarowe L-systemy


Trójwymiarowe atraktory IFS<br />

Koncepcyjnie proste, oznacza zwykłe rozwinięcie<br />

idei dwuwymiarowych IFS na 3 wymiary.<br />

Przekształcenia mają postać.<br />

w i<br />

:<br />

x d n١ ٠٠<br />

y n١<br />

d d d ٠١ ٠٢ ٠٣<br />

d d d d<br />

= ١٠ ١١ ١٢ ١٣<br />

∗<br />

d d d d ٢٠ ٢١ ٢٢ ٢٣<br />

r d d d d n١ ٣٠ ٣١ ٣٢ ٣٣<br />

z n١<br />

x n<br />

y n<br />

z n<br />

r n


Gąbka Mengera


Sześcian Cantora


Liść fraktalny


Chwast fraktalny


Wizualizacja atraktorów IFS<br />

(metodą z definicji)<br />

Metoda klasyczna (z definicji):<br />

● zaczynamy od dowolnego obrazu startowego A 0<br />

;<br />

●<br />

●<br />

przetwarzamy ten obraz operatorem Hutchinsona<br />

W(A);<br />

powtarzamy tak długo, aż obraz przestanie<br />

zmieniać się w kolejnych iteracjach.


Metoda klasyczna wizualizacji IFS<br />

●<br />

●<br />

●<br />

w praktyce bardzo<br />

powolna;<br />

operacja przetworzenia<br />

całego obrazu<br />

operatorem W(A) jest<br />

kosztowna;<br />

trzeba ją wykonywać,<br />

aż obraz pierwotny<br />

zmniejszy się do<br />

rozmiaru piksela.


Metoda probablistyczna<br />

Korzysta z faktu, że każdy obraz zbiega do<br />

atraktora, w tym pojedynczy punkt. Znana<br />

również jako „gra w chaos”.<br />

● wybierz punkt startowy;<br />

● zaznacz na ekranie i przetwórz losowo wybranym<br />

przekształceniem w i<br />

;<br />

●<br />

wykonuj tak długo, aż uzyskasz zadowalający<br />

obraz wynikowy (trzeba to ustalać<br />

doświadczalnie).


Metoda probablistyczna<br />

●<br />

●<br />

●<br />

dużo szybsza od<br />

metody klasycznej;<br />

przetwarzanie<br />

pojedynczych punktów<br />

jest łatwiejsze niż<br />

całych obrazów;<br />

punktów jest nadal za<br />

dużo by wygenerować<br />

obraz <strong>3D</strong> w rozsądnym<br />

czasie (setki milionów<br />

punktów).


Metoda przekształceń odwrotnych<br />

Znana również jako algorytm czasu ucieczki (ang.<br />

escape time). Wiemy, że atraktor jest<br />

niezmienniczy pod wpływem W(A), więc również<br />

W -1 (A). Punkty atraktora są pod jego wpływem<br />

przetwarzane na inne punkty atraktora. Punkty<br />

poza atraktorem pod wpływem W(A) będą<br />

zbiegały do atraktora, natomiast pod wpływem<br />

W -1 (A) będą od niego uciekały do<br />

nieskończoności. Pozwala to zaproponować<br />

metodę sprawdzania czy dany punkt należy do<br />

atraktora.


Metoda przekształceń odwrotnych<br />

● Dla każdego próbkowanego punktu p.<br />

● Utwórz ciąg jego przeciwobrazów<br />

W -1 (p), ..., W -n (p);<br />

● Sprawdź, czy któryś punkt przeciwobrazów<br />

opuścił ustalone otoczenie atraktora.<br />

Generowanie przeciwobrazów w tej formie wymaga<br />

wykładniczej ilości obliczeń w funkcji głebokości<br />

sprawdzania, dlatego ważne jest odpowiednie<br />

dobranie tego parametru.


Kwaternionowe zbiory Julii


Algebra kwaternionów<br />

Kwaterniony albo liczby podwójnie zespolone, to<br />

wprowadzone przez Williama Hamiltona<br />

uogólnienie liczb zespolonych na 4 wymiary.<br />

q=ab∗ic∗ jd ∗k<br />

q=zw∗ j<br />

i ٢ = j ٢ =k ٢ =i∗ j∗k=−١<br />

[ z w<br />

] −w z


Zbiór Julii 4D<br />

Zbiór Julii w dziedzinie kwaternionów definiujemy<br />

analogicznie, jak w dziedzinie liczb zespolonych,<br />

jako brzeg basenu przyciągania dla atraktora<br />

przekształcenia postaci<br />

q n١<br />

=q n ٢ c


Powrót do <strong>3D</strong><br />

Aby powrócić do przestrzeni trójwymiarowej<br />

wizualizujemy np. tylko te punkty, których<br />

ostatnia współrzędna (d), jest równa pewnej<br />

liczbie, np. 0.<br />

W sensie geometrycznym doknujemy przecięcia<br />

czterowymiarowego zbioru w hiperprzestrzeni<br />

przestrzenią określoną równaniem d = 0.


Algorytmy wizualizacji<br />

Możliwa jest wizualizacja przez dyskretyzację<br />

przestrzeni i testowanie przynależności punktów<br />

dyskretnych do zbioru Julii, jednakże jest ona<br />

kosztowna już dla przypadku dwuwymiarowego.<br />

Zamiast tego często stosuje się algorytm<br />

probablistycznej iteracji (gry w chaos) dla<br />

przekształceń odwrotnych do z 2 +c.<br />

w n١<br />

=w−c ∨ w n١<br />

=−w−c


Algorytm oszacowania odległości<br />

(unbounding volumes)<br />

Możliwe jest oszacowanie od dołu odległości<br />

danego punktu od zbioru Julii.<br />

d z<br />

∣z n ∣<br />

٢∗∣z' n<br />

∣ log∣z n ∣<br />

z' n١<br />

=٢∗z n<br />

∗z ' n


Algorytm oszacowania odległości<br />

Oszacowanie pozwala na (stosunkowo) szybką<br />

iterację wzdłuż promienia dla metody<br />

Ray-Tracingu


Rezultat


Kolejne przecięcia


Obrót w hiperprzestrzeni


Przecięcie zbioru trójwymiarowego


Zbiór Tetrabrot


Uogólnienie zbioru Mandelbrota<br />

W podobny sposób do tego, który użyliśmy do<br />

uogólnienia zbiorów Julii możemy uogólnić zbiór<br />

Mandelbrota. Jest to zbiór tych<br />

(kwaternionowych) parametrów c, dla których<br />

odpowiadający im zbiór Julii jest spójny.<br />

K ={c:¬ P c °n 0∞}


Metoda wizualizacji<br />

Również istnieją oszacowania odległości.<br />

∣ w n ln∣w n ∣ j<br />

2∗∣w∣ j<br />

1 / 2 n w' n∣ d w 0, K 2,c <br />

w ' n<br />

= d<br />

dw [ P °n c<br />

] w=w0


Obroty hiperprzestrzenne


Literatura<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

H.-O. Peitgen, H. Jurgens, D. Saupe – <strong>Fraktale</strong><br />

granice chaosu<br />

Tomasz Martyn – <strong>Fraktale</strong> i obiektowe algorytmy<br />

ich wizualizacji<br />

Jacek Kdrewicz – <strong>Fraktale</strong> i chaos<br />

John C. Hart i in.– Ray Tracing Deterministic <strong>3D</strong><br />

Fractals<br />

Keenan Crane – Ray Tracing Quaternion Julia<br />

Sets on GPU<br />

Etienne Martineau – On a Bicomplex Distance<br />

Estimation for the Tetrabrot


Pytania?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!