﻿ glChAoS.P - Magnetic class of attractors

## Magnetic class of attractors

with point components rotation/permutation

MagneticRight
Flower_0009nd.sca

#### Magnetic Left

magnetic class with point components rotation/permutation

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:

• p(x,y,z) represent the i-th point pi{xi,yi,zi}

• m is the number of magnets, with mN

• vj→m are constant values characteristic of any single attractor, where vR3 and [0,j,m] ⇒ jN

• kj→m are constant values characteristic of any single attractor, where kR3 and [0,j,m] ⇒ jN

• pNewR3 is the new point: pi+1{xi+1,yi+1,zi+1} that will calculated

In the ATTRACTORS window of glChAoS.P:

• starting point coordinates are p0{x0,y0,z0} = {0,0,0}

• left side panel contains constant values used in the expression of the current attractor, where: vj{x,y,z} = v[j](x,y,z)

• right side panel contains constant values used in the expression of the current attractor, where: kj{x,y,z} = k[j](x,y,z)

• vj and kj values can also be generated randomly between [min, vj, max] and [min, kj, max] interval.

Colors are indicative of point speed: distance between pi and pi+1

#### Magnetic base algorithm

\eqalign { p_{i+1} & = \sum_{j=0}^{m-1} \Bigg( \eqalign { \vec a & = \vec v_j - \vec p_i, \text{ } & \vec b & = \vec k_j \centerdot \eqalign { \vec a \above 1pt (\vec a \odot \vec a) }, \text{ } & f(\vec b) & } } \Bigg) \quad \Rightarrow \quad \Biggm\{ \eqalign { & [0, i, n_{\rightarrow\infty}[ \text{ } \Rightarrow i,n \in N \\ & [0, j, m[ \text{ } \Rightarrow j,m \in N \rightarrow m = \text{ number of magnets } \\ & \vec a,\vec b,\vec p,\vec v,\vec k \in R^3 \\ & f(\vec w) \rightarrow \text{ transformation function } }

where f(w) is, in base to selection, a functuon that shift/rotate/permutate the vector/point components, in base to iteration index i:

Magnetic rotation right

switch(i%3) {
case 0 : pNew = p;
case 1 : pNew = vec3(p.z,p.x,p.y);
case 2 : pNew = vec3(p.y,p.z,p.x);
}


Magnetic rotation left

switch(i%3) {
case 0 : pNew = p;
case 1 : pNew = vec3(p.y,p.z,p.x);
case 2 : pNew = vec3(p.z,p.x,p.y);
}


Magnetic full permutated

switch(i%6) {
case 0 : pNew = p;
case 1 : pNew = vec3(p.y,p.z,p.x);
case 2 : pNew = vec3(p.z,p.x,p.y);
case 3 : pNew = vec3(p.x,p.z,p.y);
case 4 : pNew = vec3(p.z,p.y,p.x);
case 5 : pNew = vec3(p.y,p.x,p.z);}


Magnetic straight

// ever... no transformation !
pNew = p;


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   auto (dynamic size) 1024 x 1024 (slowGPU) 1024 x 1280 1280 x 1024 1440 x 1024 1680 x 1050 1920 x 1080      fixed canvas     touchScreen         lowResources