Lesson 3 of 10 · Strange attractors on the GPU
Euler
Integrate: position += velocity · dt.
Velocity is not enough: the point must advance. Euler integration is the simplest method: position += velocity · dt. One small step in the direction marked by the ODE.
Repeat that thousands of times per second and the point traces the attractor.
dtThe step size. Small means precise and slow. Large means fast but rough.
Move Stretch and Inflate: they edit
d and a in the equation. The form reconfigures instantly.The code
vec3 attractor(vec3 p){
// Aizawa · mueve los números y mira
float a=0.95, b=0.70, c=0.60, d=3.50, e=0.25, f=0.10;
float dx = (p.z - b)*p.x - d*p.y;
float dy = d*p.x + (p.z - b)*p.y;
float dz = c + a*p.z - p.z*p.z*p.z/3.0
- (p.x*p.x + p.y*p.y)*(1.0 + e*p.z) + f*p.z*p.x*p.x*p.x;
return vec3(dx, dy, dz);
}