Chaotic attractors are mathematical systems that evolve over time. The Peter de Jong attractors are systems that are especially beautiful, following the underlying equations:
\(x_{n+1} = \sin(a y_n) - \cos(b x_n)\)
\( y_{n+1} = \sin(c x_n) - \cos(d y_n) \)
The choice of the constants a, b, c, d produces radically different attractors.
My personal favourite coefficients are:\begin{align} a & = 2 \\ b & = 2 \\ c & = -1.2 \\ d & = -1.2 \\ \end{align}
POV-RAY is a free raytracing tool for creating three-dimensional graphics. We can encode the equations above into POV-RAY to produce a visualisation of the Peter de Jong attractor.
light_source { 0*x color rgb 1.0 area_light <8, 0, 0> <0, 0, 8> 4, 4 adaptive 0 jitter circular orient translate <40, 80, -40> } light_source { 0*x color rgb <1,1,1> translate <0,20,-20> } /* Peter de Jong style attractor */ #declare x1=0; #declare y1=0; #declare i=2000000; // Number of points in the simulation. #declare a = -2; #declare b = -2; #declare c = -1.2; #declare d = -2; #declare attractor = union { #while(i>0) #declare x2=sin(a*y1)-cos(b*x1); #declare y2=sin(c*x1)-cos(d*y1); sphere{ <x1,y1,3>, 0.001 pigment { rgb <(1-(x2*2)),0.5,(1-(y2*2))> } finish{ diffuse 0.7 ambient 0.0 specular 0.3 reflection { 0.8 metallic } } } #declare x1 = x2; #declare y1 = y2; #declare i = i - 1; #end } object { attractor scale 2 } camera { location < 0,0,-5> look_at <0,0,0> } plane { y, -4.0 hollow on pigment { rgb 1 } }
This results in this beautiful render of the attractor