Fraktale 3D
Fraktale 3D
Fraktale 3D
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?