xxxxxxxxxx
85
// Abijeet S. Mankani
// My freetime Project
let sc = {
val: 0,
ang: 0,
len: 180,
thick: 2
};
let mn = {
val: 0,
ang: 0,
len: 140,
thick: 5
};
let hr = {
val: 0,
ang: 0,
len: 110,
thick: 8
};
function setup() {
createCanvas(600, 600);
angleMode(DEGREES);
}
function draw() {
clear();
translate(width / 2, height / 2);
back();
rotate(180);
hr.val = hour();
mn.val = minute();
sc.val = second();
sc.ang = map(sc.val, 0, 60, 0, 360);
mn.ang = map(mn.val + (sc.val / 60), 0, 60, 0, 360);
hr.ang = map((hr.val % 12) + (mn.val / 60), 0, 24, 0, 360);
hand(sc.ang, sc.len, sc.thick);
hand(mn.ang, mn.len, mn.thick);
hand(hr.ang, hr.len, hr.thick);
}
function hand(ang, len, thick) {
this.ang = -ang;
this.len = len;
this.thick = thick;
this.posX = sin(this.ang) * len;
this.posY = cos(this.ang) * len;
stroke(255);
strokeWeight(this.thick);
line(0, 0, posX, posY);
}
function back() {
let ang = 180;
stroke(0);
for (let i = 1; i <= 12; i++) {
ang += 30;
textAlign(CENTER, CENTER);
let posX = sin(-ang) * 230;
let posY = cos(-ang) * 230;
textSize(60);
let t = text(i, posX, posY);
}
}