```java int W = 1280; int H = 720; String ENGINE = P3D; byte AA = 16; byte FPS = 120; void settings() { size(W,H,ENGINE); smooth(AA); } void setup() { background(0); frameRate(FPS); DATE = createGraphics(W,H,ENGINE); CLOCK = createGraphics(W,H,ENGINE); } void draw() { DATE(); TIME(); }``` ```java int YEAR = year(); int MONTH = month(); int DAY = day(); int MILLIS = millis(); PGraphics DATE; PGraphics CLOCK; float HOUR = map(hour()%12,0,TWO_PI,0,TWO_PI); float MINUTE = map(minute(),0,TWO_PI,0,TWO_PI); float SECOND = map(second(),0,60,0,TWO_PI); float center = (W-H); float angle_H = 0; float x_H = cos(HOUR-HALF_PI)*center;; float y_H = sin(HOUR-HALF_PI)*center;; float angle_M = 0; float x_M = cos(MINUTE-HALF_PI)*center;; float y_M = sin(MINUTE-HALF_PI)*center;; float angle_S = 0; float x_S = cos(SECOND-HALF_PI)*center; float y_S = sin(SECOND-HALF_PI)*center; void DATE() { DATE.beginDraw(); { DATE.background(0); DATE.translate(W/2,H/2); DATE.scale(1); DATE.stroke(255); DATE.textSize(MILLIS); DATE.text("YEAR: "+YEAR+" MONTH: "+MONTH+" DAY: "+DAY,-W/2,H/2); } DATE.endDraw(); image(DATE,0,0); } void TIME() { angle_H = hour(); float len_H = FPS*2; x_H = cos(angle_H)*len_H; y_H = sin(angle_H)*len_H; if(angle_H >= 360) {angle_H = 0;} angle_M = minute(); float len_M = FPS; x_M = cos(angle_M)*len_M; y_M = sin(angle_M)*len_M; if(angle_M >= 360) {angle_M = 0;} angle_S = second(); float len_S = FPS/2; x_S = cos(angle_S)*len_S; y_S = sin(angle_S)*len_S; if(angle_S >= 360) {angle_S = 0;} CLOCK.beginDraw(); { CLOCK.background(255,ALPHA); CLOCK.translate(W/2,H/2); CLOCK.scale(1); CLOCK.strokeWeight(MILLIS); CLOCK.stroke(255,0,0); CLOCK.noFill(); CLOCK.circle(0,0,W-H); CLOCK.strokeWeight(HOUR); CLOCK.stroke(255); CLOCK.text("HOUR: "+HOUR,-W/2,0); CLOCK.line(x_H,y_H,0,0); CLOCK.strokeWeight(MINUTE); CLOCK.stroke(255,255,0); CLOCK.text("MINUTE: "+MINUTE,-W/2,16); CLOCK.line(x_M,y_M,0,0); CLOCK.strokeWeight(SECOND); CLOCK.stroke(255,0,255); CLOCK.text("SECOND: "+SECOND,-W/2,32); CLOCK.line(x_S,y_S,0,0); } CLOCK.endDraw(); image(CLOCK,0,0); }```