import traer.physics.*; ParticleSystem physics; Particle[] particles; Particle mouse; Particle v; void setup() { size(600,400); smooth(); frameRate(100); ellipseMode(CENTER); physics = new ParticleSystem(0,0.05); particles = new Particle[200]; particles[0] = physics.makeParticle( 1.0, width/2, height/2, 0 ); particles[0].makeFixed(); mouse = physics.makeParticle( 1.0, width/2, height/2, 0 ); for ( int i = 1; i < particles.length; ++i ) { particles[i] = physics.makeParticle( 1.0, random(width), random(height), 0 ); physics.makeSpring( particles[0], particles[i], 0.4, 0.4, random(100) ); //physics.makeAttraction( mouse, particles[i], -1000, 10 ); } } void draw() { background(255); float x = float(mouseX); float y = float(mouseY); mouse.moveTo(x,y,0); physics.tick(); for ( int i = 1; i < physics.numberOfParticles(); ++i ) { fill(0); v = physics.getParticle( i ); ellipse(v.position().x(), v.position().y(),20,20); physics.makeAttraction( mouse, v, -1000, 10 ); } }