Magnetic class of attractors
with point components rotation/permutation
MagneticRight
Flower_0009nd.sca
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}
m is the number of magnets, with m ∈ N
vj→m are constant values characteristic of any single attractor, where v ∈ R3 and [0,j,m] ⇒ j ∈ N
kj→m are constant values characteristic of any single attractor, where k ∈ R3 and [0,j,m] ⇒ j ∈ 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:
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
\[ \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
render in new window
|