Polynomial class of attractors
6 attractors based on variations of a polynomial expression
3D attractors are point clouds generate from sequences of numbers pn{xn,yn,zn} ⇒ pn ∈ R3, n ∈ N,
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:
p(x,y,z) represent the i-th point pi{xi,yi,zi}
kj→m are constant values characteristic of any single attractor, where k ∈ R3 and [0,j,m] ⇒ j,m ∈ N
pNew ∈ R3 is the new point: pi+1{xi+1,yi+1,zi+1} that will calculated
In the ATTRACTORS window of glChAoS.P:
left side panel contains starting point coordinates p0{x0,y0,z0}
right side panel contains constant values used in the expression of the current attractor, where: kj{x,y,z} = k[j](x,y,z)
kj values can also be generated randomly between [min, kj, max] interval.
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
render in new window
|
\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);