MLiss l1,l2; int t; void setup() { size(400, 400); fill(255); noStroke(); framerate(40); l1 = new MLiss(1,height/2,width/2,200,2,1); // width, x, y, radius, fx, fy } void draw() { //background(0); t++; //l1.display(); l2 = new MLiss(1,200,200,l1.calcx(t)+l1.calcy(t),(2),(2)); l2.display(); //point(l2.calcx(t),l2.calcy(t)); } class MLiss { int w; // line width float xpos; // xposition float ypos ; // yposition float rad; // radius float fx; // x frequency float fy; // y frequency float x, y, dx, dy; //float[] calc= new float[2]; MLiss(int iw, float ixp, float iyp, float irad, float ifx, float ify) { w = iw; xpos = ixp; ypos = iyp; rad = irad; fx = ifx; fy = ify; } void display() { for (int t = 0; t<1000; t++) { y = ypos + rad*sin(t*fx); x = xpos + rad*cos(t*fy); dx = abs(x-xpos); dy = abs(y-ypos); stroke (dx,dy,100); point(x,y); } } float calcx(float t) { return xpos + rad*sin(t*fx); } float calcy(float t) { return ypos + rad*cos(t*fy); } }