/* "WHERE'S LARRY?" (2008) This is the minimalist version of "Where's Waldo" in clock format. Bu Jeremy Turner - #200024742 Special thanks to Chris and Pooya for helping me understand the code a little more clearly since Monday's class. This project is basically just about modifying the parameters of Procesing.org's clock template code... I originally wanted the new ellipses to totally blend with the Larry Poons painting... ...but for grading purposes, I have made the clock a bit more vsisible. ABOUT THE CODE: Instead of the hands moving in a circular fashion, I decided to modify the dot size... ..and make them pulse.throb... ..in order to blend in with Larry Poons' classic Op Art painting. If you pay close attention to the coordinates, you can find the morphing dots. Ideally, I would not have the seconds and large throbbing sizes ... as I wanted to camoflage the elements of clock-ness in the piece. Regardeless, the dot throbbing still corresponds..to the seconds, minutes and hours from your computer (hopefully)... Everytime you play this code, the sizes of the clock-dots are different... (since they are drawing from your computer's internal clock minutes in realtime)*/ //I guess I should call Poons' dots "ellipses" void setup() { size(300, 300); //the canvas size corresponds to the size of the Poons jpeg I lifted from a google image search //Larry Poons (b. 1937) - "The Wadsworth Antheneum: Ten Works by Ten Artists" (1964). stroke(255); PFont font = loadFont("BookmanOldStyle-Bold-10.vlw"); textFont(font); smooth(); second(); minute(); hour(); //I read that this is all I need to do to assign the dots to my computer's internal clock... //I also noticed that the variables below for s, m & h allowed me to have the time affect the growth of the dots. } void draw() { PImage img1; img1 = loadImage("poons.jpg"); image(img1, 0, 0); //Since my (lack of) graphic skills currently consist of plotting primitive shapes... //I figured I may as well enhance a Larry Poons Op-Art classic. fill(0); noStroke(); int secondo = second(); int minuto = minute(); int houro = hour(); //I used "secondo", "minuto" & "houro" to ensure there were no dupe variables... //...while still reminding myself that these new names corresponded to the original clock time variables. String t = nf(secondo,2); text(t, 45, 35); String u = nf(minuto,2); text(u, 150, 20); String z = nf(houro,2); text(z, 132, 220); text("seconds", 40, 44); text("minutes", 136, 28); //I had to move the text of the minutes over to the right to make //...room for the growing ellipse. text("hours", 134,230); float s = map(second(), 0, 60, 0, TWO_PI) - HALF_PI; float m = map(minute() + norm(second(), 0, 60), 0, 60, 0, TWO_PI) - HALF_PI; float h = map(hour() + norm(minute(), 0, 60), 0, 24, 0, TWO_PI * 2) - HALF_PI; stroke(0); pushMatrix(); translate( 26, 27 ); rotate( PI / 4.0 ); ellipse(0, 0, cos(s) * 22 + 8, sin(s) * 22 + 8); popMatrix(); //when I mess with the shape, it seems that I can assign time constrictions to it..heheheh.. strokeWeight(0); pushMatrix(); translate(142, 11); rotate ( PI/ 4.0); ellipse(0, 0 , sin(m) * 5+9, cos(m) * 5 + 9); popMatrix(); strokeWeight(0); pushMatrix(); translate(150, 200); rotate( PI / 4.0); ellipse(0, 0, sin(h) * 12 + 16, cos(h) * 12 + 16); popMatrix(); //I thought I would reverse Sin and Cos positions to subvert the clockness of the movement strokeWeight(0); }