Polynomial class of attractors


6 attractors based on variations of a polynomial expression



Polynomial class

Attractors based on variations on a polynomial expression

3D attractors are point clouds generate from sequences of numbers pn{xn,yn,zn} ⇒ pnR3, nN, where n0→∞ denotes the step of the iteration process starting from a initial p0{x0,y0,z0} point.
In the cloud each next point is function of the previous one:

\[ \eqalign { x_{i+1} = \xi(x_i, y_i, z_i) & \\ y_{i+1} = \phi(x_i, y_i, z_i) & \\ z_{i+1} = \psi(x_i, y_i, z_i) & } \qquad \Bigg\{ \eqalign { & x, y, z \in R \\ & [0, i, n_{\rightarrow\infty}[ \text{   } \Rightarrow i,n \in N \\ } \]


In the computational code:


 

In the ATTRACTORS window of glChAoS.P:


Colors are indicative of point speed: distance between pi and pi+1
 
You can to start wglChAoS.P with a specific attractor directly from  explore  button. Select lowResources for low resources devices (e.g. mobile devices)
 

Resolution: X        fixed canvas
 
  touchScreen         lowResources

 

 

\begin{align} x_{i+1} & = k_{0x}+ y_i - y_i z_i \\ y_{i+1} & = k_{0y}+ z_i - x_i z_i \\ z_{i+1} & = k_{0z}+ x_i - x_i y_i \\ \end{align}

 

explore
    pNew.x = k[0].x+ p.y - p.y*p.z;
    pNew.y = k[0].y+ p.z - p.x*p.z;
    pNew.z = k[0].z+ p.x - p.x*p.y;

\begin{align} x_{i+1} & = k_{0x}+ y_i - z_i \centerdot (k_{1x}+y_i) \\ y_{i+1} & = k_{0y}+ z_i - x_i \centerdot (k_{1y}+z_i) \\ z_{i+1} & = k_{0z}+ x_i - y_i \centerdot (k_{1z}+x_i) \\ \end{align}

 

explore
    pNew.x = k[0].x+p.y-p.z*(k[1].x+p.y);
    pNew.y = k[0].y+p.z-p.x*(k[1].y+p.z);
    pNew.z = k[0].z+p.x-p.y*(k[1].z+p.x);

\begin{align} x_{i+1} & = k_{0x}+ x_i \centerdot (k_{1x} + k_{2x} \centerdot x_i+k_{3x} \centerdot y_i)+y_i \centerdot (k_{4x}+k_{5x} \centerdot y_i) \\ y_{i+1} & = k_{0y}+ y_i \centerdot (k_{1y} + k_{2y} \centerdot y_i+k_{3y} \centerdot z_i)+z_i \centerdot (k_{4y}+k_{5y} \centerdot z_i) \\ z_{i+1} & = k_{0z}+ z_i \centerdot (k_{1z} + k_{2z} \centerdot z_i+k_{3z} \centerdot x_i)+x_i \centerdot (k_{4z}+k_{5z} \centerdot x_i) \\ \end{align}

 

explore
    pNew.x = k[0].x +p.x*(k[1].x +k[2].x *p.x+k[3].x *p.y)+p.y*(k[4].x+k[5].x*p.y);
    pNew.y = k[0].y +p.y*(k[1].y +k[2].y *p.y+k[3].y *p.z)+p.z*(k[4].y+k[5].y*p.z);
    pNew.z = k[0].z +p.z*(k[1].z +k[2].z *p.z+k[3].z *p.x)+p.x*(k[4].z+k[5].z*p.x);

\begin{align} x_{i+1} & = k_{0x}+ k_{1x} \centerdot x_i + k_{2x} \centerdot y_i + k_{3x} \centerdot z_i + k_{4x} \centerdot |x_i| + k_{5x} \centerdot |y_i| +k_{6x} \centerdot |z_i| \\ y_{i+1} & = k_{0y}+ k_{1y} \centerdot x_i + k_{2y} \centerdot y_i + k_{3y} \centerdot z_i + k_{4y} \centerdot |x_i| + k_{5y} \centerdot |y_i| +k_{6y} \centerdot |z_i| \\ z_{i+1} & = k_{0z}+ k_{1z} \centerdot x_i + k_{2z} \centerdot y_i + k_{3z} \centerdot z_i + k_{4z} \centerdot |x_i| + k_{5z} \centerdot |y_i| +k_{6z} \centerdot |z_i| \\ \end{align}

 

explore
    pNew.x = k[0].x + k[1].x*p.x + k[2].x*p.y + k[3].x*p.z + k[4].x*abs(p.x) + k[5].x*abs(p.y) +k[6].x*abs(p.z);
    pNew.y = k[0].y + k[1].y*p.x + k[2].y*p.y + k[3].y*p.z + k[4].y*abs(p.x) + k[5].y*abs(p.y) +k[6].y*abs(p.z);
    pNew.z = k[0].z + k[1].z*p.x + k[2].z*p.y + k[3].z*p.z + k[4].z*abs(p.x) + k[5].z*abs(p.y) +k[6].z*abs(p.z);

\begin{align} x_{i+1} & = k_{0x}+ k_{1x} \centerdot x_i + k_{2x} \centerdot y_i + k_{3x} \centerdot z_i + k_{4x} \centerdot |x_i| + k_{5x} \centerdot |y_i| +k_{6x} \centerdot |z_i|^{k_{7x}} \\ y_{i+1} & = k_{0y}+ k_{1y} \centerdot x_i + k_{2y} \centerdot y_i + k_{3y} \centerdot z_i + k_{4y} \centerdot |x_i| + k_{5y} \centerdot |y_i| +k_{6y} \centerdot |z_i|^{k_{7y}} \\ z_{i+1} & = k_{0z}+ k_{1z} \centerdot x_i + k_{2z} \centerdot y_i + k_{3z} \centerdot z_i + k_{4z} \centerdot |x_i| + k_{5z} \centerdot |y_i| +k_{6z} \centerdot |z_i|^{k_{7z}} \\ \end{align}

 

explore
    pNew.x = k[0].x + k[1].x*p.x + k[2].x*p.y + k[3].x*p.z + k[4].x*abs(p.x) + k[5].x*abs(p.y) +k[6].x*pow(abs(p.z),k[7].x);
    pNew.y = k[0].y + k[1].y*p.x + k[2].y*p.y + k[3].y*p.z + k[4].y*abs(p.x) + k[5].y*abs(p.y) +k[6].y*pow(abs(p.z),k[7].y);
    pNew.z = k[0].z + k[1].z*p.x + k[2].z*p.y + k[3].z*p.z + k[4].z*abs(p.x) + k[5].z*abs(p.y) +k[6].z*pow(abs(p.z),k[7].z);

\begin{align} x_{i+1} & = k_{0x}+ k_{1x} \centerdot x_i + k_{2x} \centerdot y_i + k_{3x} \centerdot z_i + k_{4x} \centerdot sin(k_{5x} \centerdot x_i) + k_{6x} \centerdot sin(k_{7x} \centerdot y_i) +k_{8x} \centerdot sin(k_{9x} \centerdot z_i) \\ y_{i+1} & = k_{0y}+ k_{1y} \centerdot x_i + k_{2y} \centerdot y_i + k_{3y} \centerdot z_i + k_{4y} \centerdot sin(k_{5y} \centerdot x_i) + k_{6y} \centerdot sin(k_{7y} \centerdot y_i) +k_{8y} \centerdot sin(k_{9y} \centerdot z_i) \\ z_{i+1} & = k_{0z}+ k_{1z} \centerdot x_i + k_{2z} \centerdot y_i + k_{3z} \centerdot z_i + k_{4z} \centerdot sin(k_{5z} \centerdot x_i) + k_{6z} \centerdot sin(k_{7z} \centerdot y_i) +k_{8z} \centerdot sin(k_{9z} \centerdot z_i) \\ \end{align}

 

explore
    pNew.x = k[0].x + k[1].x*p.x + k[2].x*p.y + k[3].x*p.z + k[4].x*sin(k[5].x*p.x) + k[6].x*sin(k[7].x*p.y) +k[8].x*sin(k[9].x*p.z);
    pNew.y = k[0].y + k[1].y*p.x + k[2].y*p.y + k[3].y*p.z + k[4].y*sin(k[5].y*p.x) + k[6].y*sin(k[7].y*p.y) +k[8].y*sin(k[9].y*p.z);
    pNew.z = k[0].z + k[1].z*p.x + k[2].z*p.y + k[3].z*p.z + k[4].z*sin(k[5].z*p.x) + k[6].z*sin(k[7].z*p.y) +k[8].z*sin(k[9].z*p.z);