// Emiliano Causa // 23/Jun/2006 // Inercia y amortiguación Seguidor[] pepe; float factorAmortigua; float factorInercia; int cant; void setup(){ size(800,400); cant = 100; factorAmortigua = 0.7; factorInercia = 0.17; pepe = new Seguidor[cant]; for(int i=0 ; i 1){ saltox = x_ - x; saltoy = y_ - y; x += amortiguar( saltox * factorAmortigua, psaltox , factorInercia); y += amortiguar( saltoy * factorAmortigua, psaltoy , factorInercia); psaltox = saltox; psaltoy = saltoy; } } float amortiguar(float actual, float nuevo, float factor){ return nuevo * factor + actual * (1- factor); } void dibujar(){ ellipseMode(CENTER_DIAMETER); noStroke(); float distancia = dist(0,0,saltox,saltoy); fill(0,0,255,distancia * 2); ellipse(x,y,distancia / 10 + 20 , distancia / 10 + 20); } }