Dessiner une rondelle
De Centre de Ressources Numériques - Labomedia
void setup() {
size(800, 800);
}
void draw() {
rondelle(400, 400, 400, 100); // x, y, diametre exterieur, diametre interieur
}
void rondelle(int x, int y, int dExt, int dInt) {
float nombre = 0.551784;
beginShape();
vertex(x, y - dExt);
bezierVertex(x + dExt * nombre, y - dExt, x + dExt, y - dExt * nombre, x + dExt, y);
bezierVertex(x + dExt, y + dExt * nombre, x + dExt * nombre, y + dExt, x, y + dExt);
bezierVertex(x - dExt * nombre, y + dExt, x - dExt, y + dExt * nombre, x - dExt, y);
bezierVertex(x - dExt, y - dExt * nombre, x - dExt * nombre, y - dExt, x, y - dExt);
beginContour();
vertex(x, y - dInt);
bezierVertex(x - dInt * nombre, y - dInt, x - dInt, y - dInt * nombre, x - dInt, y);
bezierVertex(x - dInt, y + dInt * nombre, x - dInt * nombre, y + dInt, x, y + dInt);
bezierVertex(x + dInt * nombre, y + dInt, x + dInt, y + dInt * nombre, x + dInt, y);
bezierVertex(x + dInt, y - dInt * nombre, x + dInt * nombre, y - dInt, x, y - dInt);
endContour();
endShape();
}