import traer.physics.*; ParticleSystem physics; Particle[][] particles; int gridSize = 40; float counter=0; void setup() { size(600, 600); smooth(); noStroke(); //noFill(); frameRate(60); physics = new ParticleSystem(2.5, 0.1); particles = new Particle[gridSize][gridSize]; float gridStepX = (float) (width / gridSize); float gridStepY = (float) (height / gridSize); for (int i = 0; i < gridSize; i++) { for (int j = 0; j < gridSize; j++) { particles[i][j] = physics.makeParticle(0.2, sin(j*j/180*3.14) * 20 * gridStepX + (width / 2), cos(i/180*3.14) * 20 * gridStepY + 20, 0.0); if (j > 0) { physics.makeSpring(particles[i][j - 1], particles[i][j], 8.0, 0.1, gridStepX); } } } for (int j = 0; j < gridSize; j++) { for (int i = 1; i < gridSize; i++) { physics.makeSpring(particles[i - 1][j], particles[i][j], 18.0, 0.01, gridStepY); } } particles[0][0].makeFixed(); particles[0][gridSize - 1].makeFixed(); background(255); } void draw() { counter+=0.5; physics.advanceTime(0.1); float t=0; // if (mousePressed) // { for (int i = 0; i < gridSize; i++) { particles[i][gridSize - 1].moveTo(sin(float(i)/16*3.14)*20+mouseX, cos(float(i)/16*3.14)*20+mouseY, 0); particles[i][0].moveTo(sin(float(i)/16*3.14)*20+mouseY, cos(float(i)/16*3.14)*20+mouseX, 0); // t=float(i); // particles[i][gridSize/2].moveTo( mo, 0); } // particles[0][gridSize - 1].velocity().clear(); // } // background(255); // vizszintes for (int i = 0; i < gridSize; i++) { fill(i,200-i*5,i,i*5); beginShape( POLYGON ); curveVertex(particles[i][0].position().x(), particles[i][0].position().y()); for (int j = 0; j < gridSize; j++) { curveVertex(particles[i][j].position().x(), particles[i][j].position().y()); } curveVertex(particles[i][gridSize - 1].position().x(), particles[i][gridSize - 1].position().y()); endShape(); } for (int j = 0; j < gridSize; j++) { fill(200-j*5,255-j,255-j,j*5); beginShape( POLYGON ); curveVertex(particles[0][j].position().x(), particles[0][j].position().y()); for (int i = 0; i < gridSize; i++) { curveVertex(particles[i][j].position().x(), particles[i][j].position().y()); } curveVertex(particles[gridSize - 1][j].position().x(), particles[gridSize - 1][j].position().y()); endShape(); } loadPixels(); color c; for (int i=0;i