Arkadiusz Jadczyk Arkadiusz Jadczyk
4175
BLOG

Fraktale - rysujemy liść klonu

Arkadiusz Jadczyk Arkadiusz Jadczyk Nauka Obserwuj temat Obserwuj notkę 21

 

Z Wikipedii:
 
Klon (Acer L.) – rodzaj roślin z rodziny mydleńcowatych (Sapindaceae) (czasem, zwłaszcza dawniej z wyodrębnianej osobno rodziny klonowatych Aceraceae). Do rodzaju należy około 100 gatunków drzewiastych i krzewiastych (według niektórych źródeł jest to nawet 150 gatunków), występujących głównie w strefie umiarkowanej (kilka w górach tropikalnych). Występują w największym zróżnicowaniu w Azji, poza tym w Ameryce Północnej i Środkowej, Europie, północnej Afryce. Gatunkiem typowym jest klon jawor (Acer pseudoplatanus L.)
 
...Liście
 
Nakrzyżległe o różnych kształtach. Występują najczęściej z pięcioma głównymi nerwami odchodzącymi od nasady liścia  pod kątem 45°[2]. Najczęściej ma  5 klapek, jednak ich liczba może się wahać zależnie od gatunku od pojedynczo klapowanego do  11 klapek. Liście opadają na zimę (z wyjątkiem nielicznych ciepłolubnych gatunków takich jak Klon wieczniezielony).
 
Tak to, na przykład, może wyglądać:
 

Liscie klonu

 

 
Albo tak:
 

Liscie klonu

 

 
Ale może i tak:
 

Liscie klonu

 

 
Pięć jakby zdegenerowało się do trzech – też liczba pierwsza! I taki właśnie potrójny liść klonu dziś skonstruujemy – poprzez technikę  układów funkcji iterowanych (ang. iterated function system – IFS). Technika ta sama jaką stosowaliśmy konstruując liść paproci w notce Paproć Barnsleya. Tylko dane wyjściowe inne. Dalej mamy tu cztery przekształcenia afiniczne – cztery macierze i cztery przesunięcia:
 
x' = ax + b
 
gdzie a jest macierzą, zaś  b przesunięciem. Po rozpisaniu na składowe wektorów wygląda to tak:
 
x'1 = a11 x1 + a12 x2 + b1
x'2 = a21 x1 + a22 x2 + b2
 
Każde z przekształceń zadawane jest zatem przez sześć liczb: a11,a12,a21,a22,b1,b2. Ale przekształceniu musimy też przypisać  prawdopodobieństwo p z który jest ono losowane. To siódma liczba. Razem cały układ czterech przekształceń zadawany jest przez 28 liczb. Przyjęło się w literaturze kodowanie takiego jednego przekształcenia zapisując je w słupku:
 
a11
a12
a21
a22
b1
b2
p
 
Tabliczka opisująca cztery przekształcenia opisujące liść paproci z notki Paproć Barnsleya wygląda więc tak:
 
Tabelka IFS kodująca liść paproci: „Barrnsley's Fern”
0.81
0.12
0.19
0.0235
0.07
-0.25
0.275
0.087
-0.04
0.277
0.238
0.045
0.84
0.28
-0.14
0.166
0.12
0.12
0.16
0.11
0.195
0.02
0.12
0
0.5586
0.2338
0.2051
0.0025
 
A oto tabelka opisująca liść klonu (tego „potrójnego”):
 
Tabelka IFS kodująca liść klonu
0.8
0.5
0.355
0.355
0
0
-0.355
0.355
0
0
0.355
-0.355
0.8
0.5
0.355
0.355
0.1
0.25
0.266
0.378
0.04
0.4
0.078
0.434
0.35
0.22
0.22
0.21
 
 
Każdy może sprawdzić co z tego wynika ściągając sobie z sieci jeden z powszechnie dostępnych programów pozwalających na rysowanie układów IFS. Na przykład można sobie ściągnąć „Chaoskop”. Ściągamy na dysk i rozpakowujemy. Idziemy do katalogu  Chaoskop/bin/Debug. Znajdujemy tam m.in. „Chaoskop.exe” - który można uruchomić, znajdujemy też sześć plików tekstowych z rozszerzeniem „.par”. Na przykład plik  ifs6.par ma taką zawartość:
 
ifspar#Tree
a; 0.00; 0.42; 0.42; 0.10
b; 0.00; -0.42; 0.42; 0.00
c; 0.00; 0.42; -0.42; 0.00
d; 0.50; 0.42; 0.42; 0.10
e; 0.00; 0.00; 0.00; 0.00
f; 0.00; 0.20; 0.20; 0.20
p; 0.05; 0.40; 0.40; 0.15
 
Tak, to jedna z tabelek. Możemy ją zastąpić tabelką opisującą liść klonu
 
ifspar#Klon
a; 0.8; 0.5; 0.355; 0.355
b; 0.0; 0.0; -0.355; 0.355
c; 0.0; 0.0; 0.355; -0.355
d; 0.8; 0.5; 0.355; 0.355
e; 0.1; 0.25; 0.266; 0.378
f; 0.04; 0.4; 0.078; 0.434
p; 0.35; 0.22; 0.22; 0.21
 
Zapisujemy naszą nową tabelkę w tymże katalogu nadając jej nazwę ifs7.par. Teraz uruchamiamy chaoskop.exe. Różnych możliwości jest sporo, ale chcemy obejrzeć wynik zastosowania algorytmu IFS do naszej tabelki. W Menu wybieramy „Iterated Functions” i, u dołu, IFS Parameter”. W prawym Menu (na prawo od dużego czarnego okna), pod nagłówkiem „Load Parameter Sets from File” jest małe okienko „Choose PAR file” i czarna strzałeczka. Po najechaniu na nią myszką wybieramy ifs7.par. Naciskamy „Start”. Liść się pojawia zbudowany z 20000 punktów. Ilość punktów możemy zwiększyć do 30000.
 
Chaoskop
 
 
Chaoskop klon
 
Progarm rysuje punkt po punkcie, niezbyt szybko, możemy więc przyjrzeć się z temu jak przypadkowo (ale jednak z pewną regułą) rysowane punkty tworzą końcowy, miły dla oka i rozpoznawalny, kształt.
 
Ja pracuję nad moim własnym programem fraktalnym, który ma służyć nie tylko do zabawy lecz także do ilustracji matematycznych właściwości fraktali. Oto tenże liść otrzymany z mojego programiku:
 

AJ-Lisc klonu

 

 
Ten jest złożony z miliona punktów. Dodatkowo, ponieważ jest jesień, dodałem trochę czerwieni (tzn. ująłem niebieskiego) z tych pikseli gdzie gęstość punktów jest mała. Odpowiedni fragment kodu (Delphi, Pascal) wygląda tak:
 
 
begin
maxn:=0;
for i:= 0 to resolution-1 do
begin
for j:=0 to resolution-1 do
begin
if counts[i][j]>maxn then maxn:=counts[i][j]
end;
end;
dmax:= log10(maxn+1);
for i:=0 to bmp.Height -1 do
begin
p:= bmp.Scanline[i];
for j:=0 to bmp.Width-1 do
begin
value:= floor(255*log10(counts[j][resolution-i-1]+1)/dmax);
If value=0 then p[j*3+2]:=0 else //Blue
p[j*3+2]:=255-floor(255*log10(counts[j][resolution-i-1]+1)/dmax); //Blue
// p[j*3]:=0;
p[j*3+1]:=value; // Green
p[j*3]:=0; // Red
end;
end;
 
Jeśli ktoś ma ochotę, może pobawić się chaoskopem, obejrzeć różne fraktale. W kolejnych notkach będę omawiał inne aspekty fraktali – a jest ich doprawdy wiele. W notce następnej zajmę się dokładniej inną realizacją rysowania dwuwymiarowych fraktali – wejdziemy jednak, choćby i jedną nogą, w trzy wymiary.
A tymczasem polecam mój ulubiony klonowy syrop:
Syrop klonowy

 

Naukowiec, zainteresowany obrzeżami nauki. Katalog SEO Katalog Stron map counter Życie jest religią. Nasze życiowe doświadczenia odzwierciedlają nasze oddziaływania z Bogiem. Ludzie śpiący są ludźmi małej wiary gdy idzie o ich oddziaływania ze wszystkim co stworzone. Niektórzy ludzie sądzą, że świat istnieje dla nich, po to, by go pokonać, zignorować lub zgasić. Dla tych ludzi świat zgaśnie. Staną się dokładnie tym co dali życiu. Staną się jedynie snem w "przeszłości". Ci co baczą uważnie na obiektywną rzeczywistość wokół siebie, staną się rzeczywistością "Przyszłości" Lista wszystkich wpisów  

Nowości od blogera

Komentarze

Inne tematy w dziale Technologie