//***************************************************************************** // TITLE: Template to demo points, vectors, poses, and arcs // DESCRIPTION: lets use edit 10 points and uses them to compute poses, curves, circles, projections // AUTHOR: Prof Jarek Rossignac // DATE CREATED: March 20. 2007 // EDITS: //***************************************************************************** boolean showHelpText=false, showMenu=true; // toggled by key to show/hide help text boolean printIt=false; // temporarily set when a key is pressed and used to print some debugging values pt [] PP = new pt[10]; // decalres an array of 10 points int p=0; // index to the point being dragged frame F= new frame (); // declares frames (coordiate systems) color red, yellow, green, cyan, blue, magenta, dred, dyellow, dgreen, dcyan, dblue, dmagenta, white, black, orange, grey, metal; // declares colors float refinedArea=0; pt pmouse = new pt(0,0); // remembers where mouse was pressed for translations pt closest = new pt(0,0); // tracks closest point on control polyloop float a, b, c, d, e, f; void setup() { size(1100, 800); smooth(); colorMode(HSB,121); strokeJoin(ROUND); strokeCap(ROUND); // set up window and drawing modes red = color(0, 120, 120); yellow = color(20, 120, 120); green = color(40, 120, 120); cyan = color(60, 120, 120); blue = color(80, 120, 120); magenta = color(100, 120, 120); dred = color(0, 120, 60); dyellow = color(20, 120, 60); dgreen = color(40, 120, 60); dcyan = color(60, 120, 60); dblue = color(80, 120, 60); dmagenta = color(100, 120, 60); white = color(0, 0, 120); black = color(0, 120,0); grey = color(0, 120,60); orange = color(10, 100, 120); metal = color(70, 60, 100); PFont font = loadFont("Courier-14.vlw"); textFont(font, 12); // load font loadButtons(); loadToggles(); for (int i=0; i