learn GLSL from zero
ToolsCrea con shadersShader MakerCrea shaders gratis en líneaToolkitObras de shaders listas para tu webSketcher LabPinta el hero de tu landing con shaders3D StudioEl editor Three.js en tu navegador
GamesJuega con shadersOnomatoShaderEscribe una palabra y explótalaThe WatcherUn ojo que te sigueAetherVidrio líquido con un ojo adentroBloomcoreUna palabra hace crecer un jardín de luzPyrokineAvienta fuego a la paredVoltaicLa pirámide lanza rayosSurfSurfea un océano de shader

Lección 2 de 10 · Atractores extraños en la GPU

Las ecuaciones

Las tres derivadas que lo guían: la ODE.

El punto se mueve porque una función le dice cómo. Son tres derivadas: dx, dy y dz, una por cada eje. Juntas forman la ODE del atractor de Aizawa.

Cada término es una fuerza tirando del punto. Cambia un número y cambia la criatura.

dx, dy, dzLa velocidad del punto en cada eje, en función de dónde está. No hay azar: es determinista.
PruebaMueve Estira y Infla aquí abajo: editan d y a de la ecuación. La forma se reconfigura al instante.

El código

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);
}
close