Frakt álok. Szemcsenövekedés

8

description

Frakt álok. Szemcsenövekedés. 5. előadás. Fraktáldimenzió. az 1970-es években Mandelbrot és társai fejlesztették ki a fraktálgeometriát az elágazó testek jellemzőinek a leírására az egyik bevezetett jellemző mennyiség a fraktáldimenzió összefüggés a tömör testek sugara és tömege között. - PowerPoint PPT Presentation

Transcript of Frakt álok. Szemcsenövekedés

Page 1: Frakt álok. Szemcsenövekedés
Page 2: Frakt álok. Szemcsenövekedés

ha a tárgy dimenziója (D) megegyezik az euklideszi tér dimenziójával (d)

ha egy testre definiálható a dimenziója, de az kisebb, mint d

d – fraktáldimenzió a valóságban a skálázási egyenlet nem érvényes a teljes tartományra, van

egy alsó és egy felső levágási határ mikrostruktúra <-> végesméret

fraktálok másik jellemzője az önhasonlóság a különböző skálákon

Page 3: Frakt álok. Szemcsenövekedés

void clusterDetect(){ clusterNr = 1; for(int lx=1; lx<N; lx++) for(int ly=1; ly<N; ly++){ if(lattice[lx][ly] == 1){ clusterNr++; lattice[lx][ly] = clusterNr; rec(lx, ly); } }}

void clusterDetect(){ clusterNr = 1; for(int lx=1; lx<N; lx++) for(int ly=1; ly<N; ly++){ if(lattice[lx][ly] == 1){ clusterNr++; lattice[lx][ly] = clusterNr; rec(lx, ly); } }}

void rec(int i, int j){ if(lattice[i+1][j]==1){ lattice[i+1][j] = clusterNr; rec(i+1, j); } if(lattice[i][j+1]==1){ lattice[i][j+1] = clusterNr; rec(i, j+1); } if(lattice[i-1][j]==1){ lattice[i-1][j] = clusterNr; rec(i-1, j); } if(lattice[i][j-1]==1){ lattice[i][j-1] = clusterNr; rec(i, j-1); }}

void rec(int i, int j){ if(lattice[i+1][j]==1){ lattice[i+1][j] = clusterNr; rec(i+1, j); } if(lattice[i][j+1]==1){ lattice[i][j+1] = clusterNr; rec(i, j+1); } if(lattice[i-1][j]==1){ lattice[i-1][j] = clusterNr; rec(i-1, j); } if(lattice[i][j-1]==1){ lattice[i][j-1] = clusterNr; rec(i, j-1); }}

Kla

szte

rdet

ektá

lás

Megj. mindkét metódus (függvény) ismeri a lattice és a clusterNrváltozókatebben a példában a rácsot szegélyeztük 0 értékű cellákkal

Page 4: Frakt álok. Szemcsenövekedés

public void iterate(double x1, double y1, double x2, double y2, int n) { if (n > 0) { double dx = (x2−x1)/3; double dy = (y2−y1)/3; double xOneThird = x1 + dx; // új végpont a szakasz 1/3 pontjánál double yOneThird = y1 + dy; double xTwoThird = x1 + 2 dx; // új végpont a szakasz 1/3 ∗pontjánál double yTwoThird = y1 + 2 dy;∗ // a (dx, dy) szakasz elforgatasa 60 fokkal // és ennek hozzáadása a (xOneThird,yOneThird)-hez double xMidPoint = (0.5 dx − 0.866 dy + xOneThird);∗ ∗ double yMidPoint = (0.5 dy + 0.866 dx + yOneThird);∗ ∗ // minden szegmens 4 újabbat generál iterate (x1,y1,xOneThird,yOneThird,n−1); iterate (xOneThird,yOneThird,xMidPoint,yMidPoint,n−1); iterate (xMidPoint,yMidPoint,xTwoThird,yTwoThird,n−1); iterate (xTwoThird,yTwoThird,x2,y2,n−1); }else { int ix1 = myWorld.xToPix(x1); int iy1 = myWorld.yToPix(y1); int ix2 = myWorld.xToPix(x2); int iy2 = myWorld.yToPix(y2); drawSegment(ix1,iy1,ix2,iy2 ); }}

public void iterate(double x1, double y1, double x2, double y2, int n) { if (n > 0) { double dx = (x2−x1)/3; double dy = (y2−y1)/3; double xOneThird = x1 + dx; // új végpont a szakasz 1/3 pontjánál double yOneThird = y1 + dy; double xTwoThird = x1 + 2 dx; // új végpont a szakasz 1/3 ∗pontjánál double yTwoThird = y1 + 2 dy;∗ // a (dx, dy) szakasz elforgatasa 60 fokkal // és ennek hozzáadása a (xOneThird,yOneThird)-hez double xMidPoint = (0.5 dx − 0.866 dy + xOneThird);∗ ∗ double yMidPoint = (0.5 dy + 0.866 dx + yOneThird);∗ ∗ // minden szegmens 4 újabbat generál iterate (x1,y1,xOneThird,yOneThird,n−1); iterate (xOneThird,yOneThird,xMidPoint,yMidPoint,n−1); iterate (xMidPoint,yMidPoint,xTwoThird,yTwoThird,n−1); iterate (xTwoThird,yTwoThird,x2,y2,n−1); }else { int ix1 = myWorld.xToPix(x1); int iy1 = myWorld.yToPix(y1); int ix2 = myWorld.xToPix(x2); int iy2 = myWorld.yToPix(y2); drawSegment(ix1,iy1,ix2,iy2 ); }}

Page 5: Frakt álok. Szemcsenövekedés

a Koch-görbe generálásánálminden lépésben a szakaszok hossza az eredeti 1/3-a lesza szakaszok száma az négyszereződik

Page 6: Frakt álok. Szemcsenövekedés

négyzetes Koch-görbe

Sierpinski háromszögek

Sierpinski szőnyeg

Page 7: Frakt álok. Szemcsenövekedés
Page 8: Frakt álok. Szemcsenövekedés

hópelyhek villámlás baktérium kolóniák