Processing: la prog graphique expérimentale et amusante

Processing: la prog graphique expérimentale et amusante - Divers - Programmation

Marsh Posté le 23-10-2010 à 11:07:42    

Bonjour,

 

un petit topic pour présenter un environnement de programmation graphique très intéressant par les possibilités qu'il offre: Processing.
Processing est un environnement idéal pour débuter en programmation graphique et expérimenter et visualiser rapidement des algorithmes.

 

A qui est-il destiné:
- aux débutants complets en programmation
- aux graphistes et aux artistes
- aux développeurs qui veulent expérimenter des idées
- aux scientifiques qui veulent faire de la visualisation avancée de leurs données

 

L'expérimentation est le maître mot de cet outil. Le langage est une sorte de succédané de Java 1.4 nommé P5, qui a un goût de langage de script. Les programmes ne sont d'ailleurs pas nommés "programs" mais "sketches", littéralement "croquis". Mais étant basé sur Java, Processing accepte aussi du code Java en bonne et due forme.

 

Un exemple de sketch en P5

Code :
  1. //NEBULA
  2. //Matt Schroeter
  3. //December 1st, 2008
  4. //matthanns.com
  5.  
  6. float depth = 400;
  7.  
  8. void setup(){
  9. size(800, 600, P3D);
  10. noStroke();
  11. }
  12.  
  13. void draw(){
  14.  background(15, 15, 15);
  15.  
  16.  float cameraY = height/1;
  17.  float cameraX = width/1;
  18.  
  19.  translate(width/2, height/2, -depth/2);
  20.  
  21.  rotateY(frameCount*PI/500);
  22.  
  23.  float fov = cameraX/float(width) * PI/2;
  24.  float cameraZ = cameraY / tan(fov / 2.0);
  25.  float aspect = float(width)/float(height);
  26.  
  27.  perspective(fov, aspect, cameraZ/2000.0, cameraZ*4000.0);
  28.  
  29.  
  30.  translate(width/10, height/10, depth/2);
  31.  
  32.  for(int i=0; i<2; i++) {
  33.    float r = random(100);
  34.    directionalLight(2, 83, 115, // Color
  35.                            1, 10, 0); // The x-, y-, z-axis direction'
  36.    directionalLight(3, 115, 140, // Color
  37.                            10, 10, 0); // The x-, y-, z-axis direction'
  38.  }
  39.  
  40.  for(int i=0; i<10; i++) {
  41.  
  42.    float r = random(20);
  43.  
  44.    rotateX(frameCount*PI/1000);
  45.  
  46.   //alt effect
  47.   //rotateY(frameCount*PI/1000);
  48.  
  49.   for (int y = -2; y < 2; y++) {
  50.     for (int x = -2; x < 2; x++) {
  51.       for (int z = -2; z < 2; z++) {
  52.  
  53.         pushMatrix();
  54.         translate(400*x, 300*y, 300*z);
  55.         box(5, 5, 100);
  56.         popMatrix();
  57.  
  58.         pushMatrix();
  59.         translate(400*x, 300*y, 50*z);
  60.         box(100, 5, 5);
  61.         popMatrix();
  62.  
  63.         pushMatrix();
  64.         translate(400*x, 10*y, 50*z);
  65.         box(50, 5, 5);
  66.         popMatrix();
  67.  
  68.        pushMatrix();
  69.        rotateY(frameCount*PI/400);
  70.        translate(100*x, 300*y, 300*z);
  71.        box(60, 40, 20);
  72.        popMatrix();
  73.      }
  74.    }
  75.  }
  76. }
  77. }
 

Le résultat de ce code (activer Java dans votre browser). Plutôt impressionnant, non ?  ;)

 

L'IDE, si on peut dire, n'est guère plus qu'un Notepad avec coloration syntaxique, mais on peut aussi utiliser eclipse. Cependant, les programmes P5 dépassent rarement quelques centaines de lignes. Etant destiné à des non programmeurs, la simplicité est mise en avant, et on peut immédiatement s'amuser avec cet environnement.
Processing est surtout une librairie très complète de fonctions graphiques en 2D et 3D, comprenant des fonctions avancées comme un système de particules, des primitives de traitement d'images, de capture de vidéo, d'export en PDF, de manipulation du son, etc. Un des gros avantages de la documentation, est qu'elle est illustrée d'exemples qui sont directement expérimentables dans Processing.
D'autre part, des sites comme OpenProcessingmontrent les belles contributions des gens.

 

A vos sketches !


Message édité par el muchacho le 23-10-2010 à 12:10:51

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 23-10-2010 à 11:07:42   

Reply

Marsh Posté le 23-10-2010 à 12:08:06    

Un petit cours de prog Processing pour débutants en programmation

 

Quelques travaux remarquables réalisées avec cet environnement:

 

http://www.complexification.net/
http://www.michael-hansmeyer.com


Message édité par el muchacho le 24-10-2010 à 04:36:56

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed