Bonjour,
Je bloque sur un problème très bête dans processing : comment dessiner une rondelle ? Par rondelle j'entends un rond dont le centre est transparent.
Je pensais qu'il y avait une fonction de soustraction de formes mais je ne trouve pas....
Si quelqu'un a une piste je suis preneur.
Merci d'avance.
J-F
Hors ligne
noFill(); strokeWeight(20); stroke(255); ellipse(120, 120, 50, 50);
Hors ligne
Merci Mathieu,
effectivement ça fonctionne mais je pensais que l'on pouvait créer des formes plus complexes comme celles-ci :
Hors ligne
Bonjour,
Tu peux réaliser des formes plus complexes avec beginShape() et les méthodes afférentes.
Tu utiliseras la méthode bezierVertex() pour réaliser un cercle avec cette méthode de construction :
http://www.tinaja.com/glib/ellipse4.pdf
Et pour faire des formes en creux il existe la méthode beginContour()
Il faut faire attention au sens de la suite des points.
Bon courage.
Dernière modification par Mushussu (2017-04-29 14:16:04)
Hors ligne
Je planche là-dessus.
Merci !
Hors ligne
Voilà une possibilité :
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(); }
Hors ligne
Pages: 1