void ellipse(vec p,float r) { ellipse(p.x,p.y,r,r); } void line(vec a,vec b) { line(a.x,a.y,b.x,b.y); } void println(vec v) { println("point: "+v.x+","+v.y); } void curveVertex(vec v) { curveVertex(v.x,v.y); } void translate(vec v) { translate(v.x,v.y); } void drawMasses(mass m[]) { if(m==null||m.length<=0) return; for(int i=0;i0) line(m[i-1].p,m[i].p); } } void drawDummy(vec dummy) { pushMatrix(); translate(dummy.x,dummy.y); scale(.5); noFill(); stroke(80); image(imgDummy,origin); popMatrix(); } void drawTabletStroke(penStroke ps,float k) { drawTabletStroke(ps,0,k); } void drawTabletStroke(penStroke ps,int gt,float k) { if(ps==null) return; if(ps.points.length<1) return; color c=color(100); noFill(); switch(gt) { case -1: case 0: break; case 1: c=color(50,255,50); break; case 2: c=color(80,80,255); break; case 3: c=color(255,50,50); break; } vec lastP=new vec(); for(int i=0;i