ArrayList dragpos; ArrayList branch; void setup() { size(840, 600); dragpos = new ArrayList(); branch = new ArrayList(); } void draw() { background(128); // fill(64); text("Drag here with the mouse. me@atsuhiro-me.net",40,40); // stroke(0); strokeCap(ROUND); strokeWeight(8); noFill(); beginShape(); if (branch.size()>2) { PVector p = branch.get(0); vertex(p.x, p.y); PVector pa, pb, pc; for (int i=0; i0;i-=2) { dragpos.remove(i); } int rvnb = dragpos.size()-(floor((dragpos.size()-1)/3)*3+1); for (int i=0; i0; i--) { branch.add(dragpos.get(dragpos.size()-i)); } }