class Tracer{ Vec2 [] vector; boolean first = true; Tracer(){ vector = new Vec2[1]; vector[0] = new Vec2(); } void trace(Vec2 add){ int num; if (first){ vector[0] = add; first = false; } else{ vector = addVector(vector, add); } } void draw(){ stroke(0,0,0,155); for(int i = 0; i < vector.length; i++){ fill(0,0,0,100); ellipse(vector[i].x*width,vector[i].y*height,20,20); fill(0); text(i,vector[i].x*width,vector[i].y*height); } fill(0,0,0,20); beginShape(POLYGON); for(int i = 0; i < vector.length; i++){ vertex(vector[i].x*width,vector[i].y*height); } endShape(); } double [] xVectors(){ double [] x = new double[vector.length]; for(int i = 0; i < vector.length; i++) x[i] = (double)(vector[i].x); return x; } double [] yVectors(){ double [] y = new double[vector.length]; for(int i = 0; i < vector.length; i++) y[i] = (double)(vector[i].y); return y; } }