ClockDesign_001_Basic
Part 1 of 2 of Series Clock Design
Clock Design through code. Minimalism 時間設計 — 極簡風
float h, m, s; void setup() { size(650, 650); smooth(); } void draw() { background(200); pushMatrix(); translate(width/2, height/2); strokeWeight(1); stroke(100); noFill(); ellipse(0, 0, 400, 400); s = 6*second()*(TWO_PI)/360 - PI/2; m = 6*minute()*(TWO_PI)/360 - PI/2; h = 30*hour()*(TWO_PI)/360 - PI/2; fill(255); for (int i = 0; i <= 60; i++) { strokeWeight(1); line(cos(i*6*(TWO_PI)/360)*203, sin(i*6*(TWO_PI)/360)*203, cos(i*6*(TWO_PI)/360)*190, sin(i*6*(TWO_PI)/360)*190); ellipse(cos(i*6*(TWO_PI)/360)*200, sin(i*6*(TWO_PI)/360)*200, 5, 5); if (i % 5 == 0) { strokeWeight(2); line(cos(i*6*(TWO_PI)/360)*203, sin(i*6*(TWO_PI)/360)*203, cos(i*6*(TWO_PI)/360)*180, sin(i*6*(TWO_PI)/360)*180); ellipse(cos(i/5*30*(TWO_PI)/360)*200, sin(i/5*30*(TWO_PI)/360)*200, 10, 10); } } noStroke(); fill(255); ellipse(0, 0, 10, 10); //ellipse(cos(s)*200, sin(s)*200, 10, 10); //text(s + ", "+ second(), cos(s)*200, sin(s)*200); ellipse(cos(m)*200, sin(m)*200, 20, 20); //text(m + ", "+ minute(), cos(m)*200, sin(m)*200); ellipse(cos(h)*200, sin(h)*200, 20, 20); strokeWeight(5); stroke(100); line(cos(s)*180, sin(s)*180, cos(s)*10, sin(s)*10); strokeWeight(8); line(cos(m)*150, sin(m)*150, cos(m)*10, sin(m)*10); strokeWeight(10); line(cos(h)*100, sin(h)*100, cos(h)*10, sin(h)*10); popMatrix(); }