January 27, 2015 Major update. New algorithms and old projects. |
parametric fractals |
fractals |
glass |
plasma |
simple algorithms for 2D |
Simple Explicit | ||||
Chessboard pattern z = sin(2*x+y)*cos(2*y-x); if z>0 RGB(i,j,1:2) = 0.9-y/10; RGB(i,j,3) = 1; else RGB(i,j,1) = 0.3+(x-3)/20; end |
||||
Archimedean spirals phi = atan2(y,x)+sqrt(x^2+y^2); T = (1+cos(6*phi+pi)); RGB(i,j,1) = T/2*mod(phi/pi,1); RGB(i,j,2) = T/3*mod(phi/pi+1/3,1); RGB(i,j,3) = T/4*mod(phi/pi+2/3,1); |
||||
Isoline pattern z = sin(x) + cos(y) + cos(x/3); RGB(i,j,1) = 30*sin(7*z)-28; RGB(i,j,2) = RGB(i,j,1)/1.5; RGB(i,j,3) = -30*sin(7*z)-29.2; |
||||
Advanced Explicit | ||||
Chladni Plate Patterns u = [0.5-rand 0.5-rand]'; u = u/norm(u)/2; v = rand; U = u(1)*x-u(2)*y + v; f = cos(N*pi*x/L)*cos(M*pi*y/L); f = f - cos(M*pi*x/L)*cos(N*pi*y/L); f = 1.3/(1+(5.25+4.75*sin(U))*100*f*f)-rand/2; RGB(i,j,:) = f; |
||||
Mandelbrot Fractal x0 = x; y0 = y; n = 0; rho = x^2 + y^2; while rho < 16 && n < 21 phi = 2*atan2(y,x); x = rho*cos(phi) + x0; y = rho*sin(phi) + y0; n = n+1; rho = x^2 + y^2; end if n<21 RGB(i,j,1) = (n-2)/18; RGB(i,j,2) = (n-5)/15; RGB(i,j,3) = (n-10)/10; end |
||||
Plasma Helix - crosseye stereoscopic z = -3; T = 0; t = 0; t0 = 0; w = x; istep = 0; while z<3 S = sqrt(y*y+z*z)-2+0.5*sin(3*x+atan2(y,z)-2*sqrt(y*y+z*z)) t0 = t; t = 3/(1+exp(100*(abs(S)-0.02))); T = T + (t0+t)/2*istep; istep = max(0.001,abs(S)/5-0.01); z = z + istep; x = x + w*istep*0.05; end T = 2/pi*atan(T); RGB(i,j,:) = [T^2 T^3 T]; |
||||
|
Plasma Gyroid z = -2; T = 0; t = 0; t0 = 0; istep = 0; while z<0 rho = 3 + 50/(1+(sqrt(x*x+y*y+z*z)+1)^2); S = -(cos(x*rho)*sin(y*rho) + cos(y*rho)*sin(z*rho) + cos(z*rho)*sin(x*rho) + 2 - 16/(16+x^4+y^4+z^4)); t0 = t; t = 15/(1+exp(200*(abs(S)-0.02))); T = T + (t0+t)/2*istep; istep = max(0.001,abs(S)/55-0.01); z = z + istep; end T = 2/pi*atan(T); RGB(i,j,:) = [T^2.5 T^3 T]; download m-file |
|||
Parametric 1D | ||||
Harmonograph for k = 0:pi/500:200*pi x = cos(k/200*3)*sin(2*k) + sin(k/200*3)*sin(1*k) + 5.5*cos(k/100); y = -sin(k/200*3)*sin(2*k) + cos(k/200*3)*sin(1*k) + 2.5*sin(k/100); end Defocused, background [0.9 0.9 0.7] |
||||
Parametric 2D | ||||
Water caustics 30 random wave functions Snell's law Calculated from 85 million points on the water surface |
science and engineering |
Beam bending in perfect plasticity |
Pressure Vessel - assembly and pressurization |
Elastic wire simulation study |
|
domino building and computation |
Theory | ||
|
|
|
Logic AND gates | ||
|
||
Logic OR gates | ||
|
||
Dry domino structures - beechwood 50×25×8 mm | ||
Tower of Pi, 750 pieces | ||
miscellaneous |
|
|