float angle_int11 = - TWO_PI/36; float angle_int12 = 7 * TWO_PI/36; float angle_int21 = 11 * TWO_PI/36; float angle_int22 = 19 * TWO_PI/36; float angle_int31 = 23 * TWO_PI/36; float angle_int32 = 31 * TWO_PI/36; float sinvalint11, cosvalint11, sinvalint12, cosvalint12, sinvalint21, cosvalint21, sinvalint22, cosvalint22, sinvalint31, cosvalint31, sinvalint32, cosvalint32; float angle_heu, angle_min, angle_sec, sinvalsec, cosvalsec, sinvalmin, cosvalmin, sinvalheu, cosvalheu; float rayon_int = 40.0; float rayon_sec = 160.0; float rayon_min = 130.0; float rayon_heu = 100.0; int sec = 0; int minut = 0; int heure = 0; float xsec, ysec, xmin, ymin, xheu, yheu; float xint11, yint11, xint12, yint12, xint21, yint21, xint22, yint22, xint31, yint31, xint32, yint32; void setup(){ frameRate(1); size(400, 400); background(0); noStroke(); smooth(); } void draw(){ noStroke(); fill(0,4); rect(0,0,width,height); sec = second(); minut = minute(); heure = hour(); //définit les points de la forme // le 1er point intermédiaire sinvalint11 = sin (angle_int11); cosvalint11 = cos (angle_int11); xint11 = width/2 + (cosvalint11 * rayon_int); yint11 = height/2 + (sinvalint11 * rayon_int); // le point des minutes angle_min = (3 * HALF_PI) + (minute() * PI/30); sinvalmin = sin (angle_min); cosvalmin = cos (angle_min); xmin = width/2 + (cosvalmin * rayon_min); ymin = height/2 + (sinvalmin * rayon_min); // le 2eme point intermédiaire sinvalint12 = sin (angle_int12); cosvalint12 = cos (angle_int12); xint12 = width/2 + (cosvalint12 * rayon_int); yint12 = height/2 + (sinvalint12 * rayon_int); // le 3ème point intermédiaire sinvalint21 = sin (angle_int21); cosvalint21 = cos (angle_int21); xint21 = width/2 + (cosvalint21 * rayon_int); yint21 = height/2 + (sinvalint21 * rayon_int); // le point des secondes angle_sec = (3 * HALF_PI) + (second()*PI/30); sinvalsec = sin (angle_sec); cosvalsec = cos (angle_sec); xsec = width/2 + (cosvalsec * rayon_sec); ysec = height/2 + (sinvalsec * rayon_sec); // le 4ème point intermédiaire sinvalint22 = sin (angle_int22); cosvalint22 = cos (angle_int22); xint22 = width/2 + (cosvalint22 * rayon_int); yint22 = height/2 + (sinvalint22 * rayon_int); // le 5ème point intermédiaire sinvalint31 = sin (angle_int31); cosvalint31 = cos (angle_int31); xint31 = width/2 + (cosvalint31 * rayon_int); yint31 = height/2 + (sinvalint31 * rayon_int); // le point des heures angle_heu = (3 * HALF_PI) + (hour()*PI/6); sinvalheu = sin (angle_heu); cosvalheu = cos (angle_heu); xheu = width/2 + (cosvalheu * rayon_heu); yheu = height/2 + (sinvalheu * rayon_heu); // le 6ème point intermédiaire sinvalint32 = sin (angle_int32); cosvalint32 = cos (angle_int32); xint32 = width/2 + (cosvalint32 * rayon_int); yint32 = height/2 + (sinvalint32 * rayon_int); noStroke(); fill(255, 128); beginShape(); vertex(xint11, yint11); vertex(xmin, ymin); vertex(xint12, yint12); vertex(xint21, yint21); vertex(xsec, ysec); vertex(xint22, yint22); vertex(xint31, yint31); vertex(xheu, yheu); vertex(xint32, yint32); endShape(CLOSE); /* stroke(51); noFill(); line (width/2, 0, width/2, height); line (0, height/2, width, height/2); ellipse(width/2, height/2, 200, 200); ellipse(width/2, height/2, 260, 260); ellipse(width/2, height/2, 320, 320);*/ }