Processing

You are currently browsing the archive for the Processing category.

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.

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);

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.

Le développement pour téléphones Android à l’aide de Processing est en cours d’implémentation. On peut suivre l’évolution des travaux sur la page android.processing.org.

En revanche, rien pour l’iPhone qui réclame l’emploi de OpenFrameWorks ou qui sera bientôt possible à l’aide de Flash CS5.

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)

J’ai placé à l’adresse http://www.hyperbate.com/processing/sincos/ une modeste démonstration animée des cosinus et des sinus, à fins d’illustration de mes cours lorsque j’aborde ces notions.
sincos
(note : cliquez sur le lien ou sur l’image pour voir l’animation au format processing)