Interaction en temps réel sur Mac

À la découverte de Processing

Un environnement Open Source au service de la création
Première publication : .
Mise en ligne: 16 avril 2007.
Modifié le : 16 avril 2007.
Par Jocelyne Quelo
À la découverte de Processing, Mac, , Navigateur, , Sons, , Hardware, , 3D, , Images, , Logiciel libre, , Programmation, , Vidéo, , Java, , Langage, , Open Source, , Libre, , Processing, , Multimédia

Processing est un environnement Open Source multiplateforme pour la programmation d’événements multimédia interactifs et génératifs. Créé par Benjamin Fry et Casey Reas, il est le prolongement de l’environnement de programmation graphique Design by numbers développé par John Maeda au MIT MediaLab.

Processing a été développé pour faciliter la création de programmes visuels. Il peut gérer sons, images, vidéos, 3D, capteurs, actionneurs et même des cartes d’acquisition de capteurs en open hardware capables de lire et d’enregistrer directement le patch pour effectuer l’application interactive sans ordinateur. Processing est également idéal pour des applications graphiques génératives.

Simplification du langage Java, toutes les applications graphiques sont également visibles dans un navigateur, sur PDA et téléphone portable.

(JPEG)
Spies
de Lisa Strausfeld et James N. Sears

Quelques principes essentiels du langage de programmation Processing

La définition d’une méthode

Une méthode contient une liste d’actions à exécuter chaque fois qu’elle est appelée. Il est possible de créer soi-même des méthodes et de les appeler dans le code en écrivant tout simplement leur nom. Il existe également des méthodes automatiques, qui seront appelées par le processeur lui-même, au démarrage de l’animation, par exemple, ou quand l’utilisateur bougera sa souris.

Voici quelques exemples de méthodes automatiques que vous pouvez tester.

-  Ce premier exemple utilisera la méthode setup() pour changer la couleur de fond au démarrage de l’animation.

-  En deuxième lieu, les mêmes instructions peuvent être écrites à l’intérieur d’une autre méthode automatique, ce qui donnera évidemment un autre comportement.

-  Pour terminer, une méthode automatique très pratique que le processeur appellera à chaque changement de position de la souris.

La définition de variables

Une variable étant une donnée, elle contient donc une valeur quelconque (5, 13, 666, "Bonjour", 3.145, etc.). Cette variable est identifiée par un nom sans espace (x, y, premiereCouleur, deuxiemeCouleur, etc.). Chaque fois que ce nom est utilisé, sa valeur interne l’est également.

Habituellement, les programmes contiennent deux types de variables : des numéros entiers et des numéros à virgule. Les numéros entiers sont appelés des integers en anglais, qui s’écrit dans Processing int. Les numéros à virgule sont appelés des floating-point numbers, ou float dans le langage de Processing.

-  Un petit exemple d’écriture de code :

Les variables peuvent être utilisées à l’intérieur d’une méthode, être définies en début du programme comme variables globales ou être « passées » comme paramètre à l’intérieur de la définition d’une méthode.

L’utilisation des boucles

Une boucle est une liste d’instructions qui doit être exécutée de façon répétitive jusqu’à ce qu’une condition x soit remplie.

-  Premier exemple, la boucle while() qui tourne tant que ce qui est entre parenthèses reste vrai.

Dans cet exemple, dès que la variable i n’est plus inférieure à 256, l’ordinateur sort de la boucle et exécute les lignes suivant la boucle.

-  La seconde manière de faire des boucles, qui comptent de 1 à 100 par exemple, utilise la formule for(). Ces boucles sont plus compliquées à lire que les boucles while() en revanche, elles sont plus simples à manier.

Voici le même programme que précédemment avec un boucle for() :

L’utilisation des bifurcations

Une bifurcation permet au programme de moduler son comportement pendant qu’il s’exécute. C’est un pas fondamental vers l’interactivité. Les bifurcations les plus simples sont connues sous les noms de « if » et « else ».

Comme pour les méthodes et les boucles, une bifurcation if() s’écrit avec parenthèses et accolades.

Ce petit tour d’horizon des quatre principes fondamentaux effectué, passons maintenant à l’utilisation de Processing sur un PDA et à l’adjonction de carte d’acquisition.

Mobile Processing

Mobile Processing est destiné à ceux qui désirent concevoir et développer des logiciels sur téléphones portables. Les logiciels sont programmés sur la base des dispositifs mobiles sous Java.

Deux petits trucs

-  Dans Mobile Processing, la virgule fixe peut être utilisée pour traiter les nombres fractionnaires. Quelques variables ont été définies pour vous aider, mais vous aurez toujours besoin de faire attention et de prendre note des variables affiliées aux valeurs à virgule fixe et des variables affiliées aux valeurs de nombre entier.

Vous devrez également convertir les valeurs fractionnaires à virgule fixe en utilisant la formule itofp() :

-  Les fonctions de dessin, quant à elles, exigent des valeurs de nombre entier dans leurs coordonnées. Les valeurs à virgule fixe ont ainsi besoin d’être converties, la formule fptoi() sera utilisée pour le faire :

Le hardware

Les cartes d’acquisition existantes, notamment la carte d’aquisition Arduino, sont en open hardware. Tout bricoleur peut ainsi fabriquer et modifier ces matériels à son goût.

(JPEG)
La carte d’acquisition Arduino
Photo by Nicholas Zambetti

Nous reviendrons ultérieurement sur la fabrication et l’adjonction de la carte Arduino sur un Mac. En attendant, quelques liens anglicistes bien utiles.
-  Fabriquer sa carte d’acquisition Arduino.
-  Adjoindre la carte d’acquisition Arduino sur un Mac (10.3.9 minimum).

Liens

-  La communauté processing
Très active outre-atlantique, elle commence tout juste à se constituer en France. Cette communauté vous propose une vingtaine de blogs présentant différents développements.

-  Le site officiel dédié à Processing avec exemples, téléchargements et liens utiles.

-  Tutoriel sur Processing dans la langue de Beaubelaire.

Envoyer
L'e-mail du destinataire :

Votre Nom :

Votre e-mail :


 |  Imprimer |  Réagir
Copyright 2002-2010 xrings - Tous droits réservés - Mentions légales - Propulsé par SPIP - Webdesigner et référencement Frédéric Guerrier