Flame Fractals
Flame aplet.
Instrukcje: Aby powiększyć wybrany fragment rysunku zaznacz myszą prostokąt, aplet automatycznie narysuje zawartość prostokąta. Aby wrócić do widoku domyślnego nacisnij Reset. Możesz wybrać między różnymi rodzajami transformacji.
Opis: Fraktale typu Flame są rozszerzeniem fraktali opartych na algorytmie IFS. Po raz pierwszy fractale typu flame zostały użyte przez Billa Poiriera w 1996 roku na uniwersytecie Brown. W uogólnionym algortymie IFS używa się nieliniowego przekształcenia Vi funkcji afinicznej:
Fi(x, y) = Vj(aix + biy + ci, dix + eiy + fi)
Gdzie:
x i y są współrzędnymi punktu,
a, b, c, d, e i f są afinicznymi współczynnikami,
Vj jest przekształceniem nieliniowym.
Używane są następujące przekształcenia:
Linear: V1(x,y) = (x,y)
Sinusoidal: V2(x,y) = (sinx,siny)
Spherical: V3(x,y) = (x/r2,y/r2)
Swirl: V4(x,y) = (rcos(t+r),rsin(t+r))
HorseShoe: V6(x,y) = (rcos(2t),rsin(2t))
Polar: V7(x,y) = (t/3.14,r-1)
Handkerchief: V8(x,y) = (rsin(t+r),rcos(t-r))
Disc: V9(x,y) = (tsin(3.14r)/3.14,tcos(3.14r)/3.14)
Spiral: V10(x,y) = ((cos(t)+sin(r))/r,(sin(t)-cos(r))/r)
Hyperbolic: V11(x,y) = (sin(t)/r,cos(t)r)
Diamond: V12(x,y) = (sin(t)cos(r),cos(t)sin(r))
Ex: V13(x,y) = (rsin3(t+r),rcos(t-r))
Julia: V14(x,y) = (r0.5sin(r/2+R),r0.5cos(t/2+R))
gdzie: R jest zmienną losową równą 0 lub 3.14,
r=(x2+y2)0.5
t=atan(y/x)
powrót do strony głównej