Ceci est une ancienne révision du document !


Ateliers Processing

L'idée de ce premier atelier était d'implémenter un algorithme d'art contemporain proposé par Sol LeWitt.

L'idée a été trouvée sur le site de Pol Guezennec

FloatList liste_x = new FloatList();
FloatList liste_y = new FloatList();
 
void setup() {
  size(500, 500);
  background(255);
 
  for (int i = 0; i < 50; i = i+1) {
    liste_x.append(random(width));
    liste_y.append(random(height));
  }
}
 
void draw() {
  stroke(random(255), random(255), random(255));
  strokeWeight(0.1);
  int i0 = int(random(50));
  int i1 = int(random(50));
  line(liste_x.get(i0), liste_y.get(i0), liste_x.get(i1), liste_y.get(i1));
}

Ici nous abordons les boucles “for” pour répéter un bloc d'instructions. Nous imbriquons deux boucles “for” pour créer la grille sur deux dimensions.

int diametre = 40;  // Diamètre des cercles
 
void setup() {
  size(500, 500);
  noStroke(); // Désactive le countour des formes
  fill(#FFE990); // Couleur de remplissage des cercles
}
 
void draw() {
  background(#90A5FF); // On repeint le fond
 
  for (int j = 0; j < height; j += diametre) {
    // A chaque tour de la boucle externe on descend d'une ligne
    for (int i = 0; i < width; i += diametre) {
      // A chaque tour de la boucle interne on décalle d'une colonne
      int posx = i + diametre/2;
      int posy = j + diametre/2;
      // On calcule la distance entre le centre de chaque cercle et le curseur de la souris
      float d = dist(posx, posy, mouseX, mouseY);
      circle(posx, posy, d * 0.18);
    }
  }
}

  • atelier/processing/start.1670259414.txt.gz
  • Dernière modification: 2022/12/05 17:56
  • par gweltaz