Introduction à Processing (tutoriels)

Quelques tutoriels en vidéo pour comprendre ce qu’est Processing.
Désolé pour le son, que j’ai enregistré à la webcam et qui n’est pas fameux.
Ils n’étaient pas prévus pour être diffusés ici, et il faudrait que je les refasse plus soigneusement, mais en attendant mieux…

Découverte du logiciel

Second exemple, avec une boucle

Un exemple d’interactivité avec Processing

Utiliser la vidéo avec Processing (note : le code change un peu avec Processing 3).

Téléchargement :

Pour en savoir plus,

Quelques livres en Français :

Il existe aussi d’excellents livres en Anglais, Allemand ou Japonais.

Maths (2) dessiner la fleur du tournesol

En utilisant l’angle dit « angle d’or » (environ 137.5 degrés ou 2.3999 radians), on peut dessiner une spirale de Fermat selon un modèle inventé par H. Vogel, à la manière des étamines des tournesols, des écailles des pommes de pin ou de diverses organisations naturelles.

rayon = c * √n
θ = n * φ

c est une constante (si on change c, l’espacement qui sépare les éléments de la spirale change), φ est l’angle d’or et n dénombre chaque élément de la spirale. Dans l’exemple qui suit (langage processing), n prend les valeurs successives de n sont 0, 1, 2, 3, 4, et ainsi de suite jusqu’à 1000 ; Le constante c a la valeur de 10 :

float angledor=radians(137.5);

void setup(){
size(400,400);background(255);strokeWeight(7);smooth();
float x=200;float y=200;float constante=10;
for(int a=0;a<1000;a++){
float r=constante*sqrt(a);
x+=cos(angledor*a)*r;y+=sin(angledor*a)*r;
point(x,y);
}
}

On pourrait être encore plus précis en calculant l’angle d’or à la volée. Sa valeur est égale à (2*Π)/φ+1. La valeur de φ, le nombre d’or, est (1+√5)/2.
À la place de float angledor=radians(137.5); on pourra donc écrire :

float nombredor = (1+sqrt(5))/2;
float angledor = TWO_PI/(1+nombredor);

Astroïde

Une fonction artisanale écrite en processing pour dessiner un astroïde.
Attention, pas « astéroïde » (objet céleste) mais bien « astroïde » (figure géométrique en forme d’étoile).

void astroide(float x, float y, float t){
float t2 = t/2;float tt=t2/2;
float[] p1 = {x,y-t2};float[] p2 = {x+t2,y};float[] p3 = {x,y+t2};float[] p4 = {x-t2,y};
beginShape();
vertex(p1[0],p1[1]);
bezierVertex(p1[0],p1[1]+tt,p2[0]-tt,p2[1],p2[0],p2[1]);
bezierVertex(p2[0]-tt,p2[1], p3[0],p3[1]-tt, p3[0],p3[1]);
bezierVertex(p3[0],p3[1]-tt, p4[0]+tt,p4[1], p4[0],p4[1]);
bezierVertex(p4[0]+tt,p4[1], p1[0],p1[1]+tt,p1[0],p1[1]);
endShape();
}

La fonction doit être placée dans le code d’un programme.
Elle s’invoque comme ceci :

astroide(x, y, taille);

où x et y sont les coordonnées horizontales et verticales du centre de l’astroïde et où taille définit le diamètre du cercle dans lequel s’inscrit la forme géométrique.

Affiches

makeartUne pages pleine de jolies affiches à télécharger, réalisées à partir de programmes rédigés en Processing (et apparemment trouvés sur openProcessing – j’en reconnais un pour l’avoir codé).
C’était pour le festival Make art qui s’est achevé dimanche dernier. Make art est un festival international dédié à l’utilisation des outils libres et des contenus ouverts dans les arts numériques.
Petite faute de goût tout de même, si les auteurs des affiches ont bien mentionné la provenance des programmes utilisés et ont reproduit leur licence d’utilisation, ils ont aussi ajouté dans le code un copyright les concernant.

(Merci à Thibault pour le signalement)