Sommaire AVANT-PROPOS CHAPITRE 1 PREMIER CONTACT 1 CHAPITRE 2 GÉOMÉTRIE I 13 CHAPITRE 3 COULEUR I : LE NOIR ET BLANC 25 CHAPITRE 4 VARIABLES I 29

of 22
24 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
Sommaire AVANT-PROPOS V CHAPITRE 1 PREMIER CONTACT 1 CHAPITRE 2 GÉOMÉTRIE I 13 CHAPITRE 3 COULEUR I : LE NOIR ET BLANC 25 CHAPITRE 4 VARIABLES I 29 CHAPITRE 5 SETUP() ET DRAW() 35 CHAPITRE 6 OPÉRATEURS
Document Share
Document Transcript
Sommaire AVANT-PROPOS V CHAPITRE 1 PREMIER CONTACT 1 CHAPITRE 2 GÉOMÉTRIE I 13 CHAPITRE 3 COULEUR I : LE NOIR ET BLANC 25 CHAPITRE 4 VARIABLES I 29 CHAPITRE 5 SETUP() ET DRAW() 35 CHAPITRE 6 OPÉRATEURS 39 CHAPITRE 7 STRUCTURES CONDITIONNELLES ET ITÉRATIVES 45 CHAPITRE 8 INTERACTIVITÉ AVEC LA SOURIS 55 CHAPITRE 9 GÉOMÉTRIE II : TRANSFORMATIONS 67 CHAPITRE 10 MATHS I : FONCTIONS EXPONENTIELLES ET NORMALISATION 77 CHAPITRE 11 LE TEMPS 81 CHAPITRE 12 LE HASARD 85 CHAPITRE 13 MATHS II : INTERPOLATIONS 95 IV Processing CHAPITRE 14 FORMES COMPLEXES 103 CHAPITRE 15 TABLEAUX 111 CHAPITRE 16 CLASSES 127 CHAPITRE 17 COULEUR II 145 CHAPITRE 18 IMAGES 153 CHAPITRE 19 VARIABLES II : TEXTE 173 CHAPITRE 20 TYPOGRAPHIE 183 CHAPITRE 21 L INTERACTIVITÉ AU CLAVIER 193 CHAPITRE 22 3D 201 CHAPITRE 23 EXPORTATION D IMAGES 213 CHAPITRE 24 EXPORTATION DE PROGRAMMES 221 CHAPITRE 25 LIBRAIRIES 227 RÉFÉRENCES WEBOGRAPHIQUES ET BIBLIOGRAPHIQUES 261 INDEX 265 Avant-propos À qui s adresse ce livre Processing est un langage de programmation dédié à la production artistique, et notamment à la production d images, ce qui explique sa large diffusion dans les écoles d art et de design graphique et interactif. Grâce à ses nombreux modules additionnels, Processing ne se limite pas à la création visuelle et peut communiquer avec des dispositifs électroniques de type Arduino, avec des services Internet, peut manipuler du son, de la vidéo, etc. C est un langage à la fois simple, puissant et bien conçu, appartenant à la famille de Java et de C++, qui constitue pour ces raisons une excellente initiation à la programmation informatique. Le logiciel Processing, qui sert à rédiger et à exécuter des programmes dans le langage du même nom est par ailleurs gratuit et disponible sur trois plates-formes : Mac OS, Windows et Linux. Processing intéressera tout particulièrement les créateurs qui veulent produire des installations interactives à l aide de périphériques répandus tels que la souris, le clavier ou la caméra,maisaussi à l aidedu capteur de mouvementskinect,ou bien encore,en association avec une carte de prototypage Arduino, avec des capteurs de distance, de mouvement, de température, de localisation GPS, etc. Processing permet aussi aux graphistes de générer des images ou des motifs à partir dedonnées,cequienfaitunlangagetrèsadaptéàla«datavisualisation»(appeléeen français«graphisme de données» ou encore«graphisme d information»), et lui vaut d être employé pour ce genre d usage par des institutions scientifiques qui souhaitent rendre intelligibles ou séduisant le résultat de leurs recherches. Enfin, alors que l on parle beaucoup d enseigner la programmation informatique aux enfants dès l école primaire, Processing peut être un outil de choix, du fait de sa simplicité d emploi et de l immédiateté des résultats qu il produit. Comment utiliser ce livre Le livre que vous tenez dans les mains est à la fois un cours progressif et thématique, un ouvrage de référence qui passe en revue les principales fonctions du langage Processing, mais aussi un ouvrage d initiation à la programmation informatique et à l image numérique, pensé pour être accessible aux grands débutants comme aux programmeurs VI Processing affirmés quiontsurtoutbesoindecomprendrelaphilosophiedulangageetlalistede ses fonctions. Si vous découvrez la programmation, la méthode la plus indiquée est de lire ce livre dans l ordre de ses chapitres, devant un ordinateur où vous aurez ouvert le logiciel Processing et où vous saisirez et testerez le code : rien de plus parlant que de voir le résultatdecequel onacodé.lesprogrammessontpourlapluparttrèscourts,limitant les risques d erreurs de saisie. Certaines fonctions ne sont pas détaillées dans le livre, et il est possible que, au cours des versions à venir, de nouvelles fonctions apparaissent. Pour être toujours au fait des changements et bénéficier d une référence complète du langage Processing, pensez à consulter l aide depuis le menu Help Reference, qui permet d accéder à une liste exhaustive du vocabulaire de Processing et de comprendre les effets de chaque commande grâce à de courts exemples. À propos des auteurs Jean-Michel Géridan a reçu une formation à l École supérieure d art et de design de Reims, à l université Paris 8 et à l École nationale supérieure des arts décoratifs. Spécialisé dans le design graphique et les nouveaux médias, cofondateur de la maison d éditions Franciscopolis, il a enseigné plusieurs années à l École d art du Havre avant de devenir directeur de l École supérieure d art de Cambrai. Jean-Noël Lafargue, formé à la peinture aux Beaux-Arts de Paris et à la réalisation multimédia à l université Paris 8, est ou a été enseignant dans plusieurs écoles d art françaises : Amiens, Rennes, Angoulême et Le Havre, notamment. Il est l auteur de plusieurs livres de sujets divers : bande dessinée, technologies, histoire culturelle des mythes apocalyptiques, la science-fiction. Ses sujets d intérêt se trouvent évoqués sur ses divers blogs, accessibles à l adresse Ensemble, Jean-Michel Géridan et Jean-Noël Lafargue ont coordonné l équipe de recherche IDeA (Interactivité, design et art) et rédigé deux livres : Processing, le code informatique comme outil de création (Pearson, 2011) et, associés à Bruno Affagard, Projets créatifs avec Arduino (Pearson, 2014). Remerciements Les auteurs remercient en premier lieu leurs étudiants ainsi que les lecteurs de leurs ouvrages précédents pour leurs remarques et leurs requêtes diverses, grâce auxquelles ils ont pu apporter de multiples améliorations au présent ouvrage. Ils tiennent à saluer amicalement la nombreuse communauté qui fait vivre le langage Processing en France, notamment dans les écoles d art et de design : Douglas Edric Stanley, Jeff Guess, Yannick Mathey, Caroline Kassimo-Zahnd, Sylvie Tissot, Dominique Cunin, Alexis Chazard, Olivier Cornet, Benoît Wimart, Bruno Affagard, Loïc Horellou, Bachir Soussi-Chiadmi, Antonin Fourneau, Mark Webster, Quentin Bréant, Julien Gachadoat, Antoine Schmitt, Uroš Petrevski, Fernand Dutilleux, Normals, Superscript, n-graphes... Mais aussi : Vanina Pinter, Jean-Louis Boissier, Liliane Terrier, Claude Closky, Heiko Hansen, Véronique Marrier, Annick Lantenois, Gilles Rouffineau, Stéphane Trois carrés, Christelle Kirchstetter, Jérôme Saint-Loubert Bié, Juliette Pollet, Barbara Dennys, Thierry Heynen, Yann Owens, Keyvane Alinaghi, Jean-Louis Fréchin, Étienne Mineur, Avant-propos VII Peter Gabor, Laure Limongi, Anne Zeitz, Stéphanie Solinas, Alexandre Laumonier, Marie Lechner, Julie Morel, Stéphane Degoutin, Gwenola Wagon. Enfin, nous remercions les éditions Pearson, chez qui nous avons publié un livre sur le mêmesujetil y a cinq ans, de nous avoirautorisésàfaire celui-ci. 1Premier contact L ORIGINE DU PROJET PROCESSING Processingaétéinitiéauprintemps2001parBen FryetCasey Reas,deuxétudiantsdu Aesthetic and Computation research group du Media Lab du MIT. Leur logiciel reprenait un peu la philosophie minimaliste de Design by numbers, un logiciel de création visuelle par le code informatique créé deux ans plus tôt par John Maeda, leur professeur, luimême influencé par Muriel Cooper, graphiste du MIT qui y a enseigné le graphisme algorithmique de 1973 à 1994, l année de son décès. Design by numbers n a jamais été autre chose qu un outil pédagogique pour enseigner les principes de l image numérique. Processing, en revanche, a toujours eu l ambition d être un logiciel de production dans le domaine de la création visuelle et interactive sur supports numériques, en concurrence avec des logiciels propriétaires tels que Director, Flash, Max/MSP. Testé dans de nombreuses écoles d art et de design, Processing est longtemps resté en version «beta», c est-à-dire en version expérimentale. En 2005, le logiciel a reçu un prix au festival Ars Electronica. En 2008, devenu mûr, Processing est enfin passé à sa première version de production, la 1.0. Cette même année, John Resig, l auteur du framework JQuery, a commencé à travailler à Processing.js, un portage de Processing pour les navigateurs web. En 2012, Ben Fry, Casey Reas et Daniel Shiffman ont fondé la fondation Processing, qui pilote l évolution de Processing, Processing.py et P5js et perçoit les dons des utilisateurs dons qui consistuent l unique source de financement pour le développement de Processing, créé dans un esprit de gratuité et de partage. Plus qu un simple langage de programmation, Processing constitue une philosophie de création, et sert de modèle à de nombreux projets : Wiring, Arduino, Android Processing, Processing.py, P5js, Cinder ou encore openframeworks. Des versions Scala, Lisp ou Ruby de Processing sont en cours de développement. Un certain nombre d artistes ou de graphistes utilisent Processing comme outil de production : Ben Fry et Casey Reas, bien entendu, mais aussi Robert Hodgin, Golan Levin, Toxi, Andreas Gysin, Marius Watz, Aaron Koblin, George Legrady, HeHe, Superscript2, Joshua Davis... TÉLÉCHARGEMENT ET INSTALLATION Processingestdiffusésousformedelogiciel«libre», cequiimpliqueentreautresque son acquisition et son utilisation sont gratuites pour tous ses utilisateurs, et ceci sans limitation d aucune sorte. 2 1 Premier contact La première étape pour installer Processing est de télécharger le logiciel à l adresse : La figure 1.1 montre les cinq versions disponibles : une version pour le système Mac OS X, deux versions pour le système Linux et deux versions pour le système d exploitation Windows. Figure 1.1 Les versions de Processing disponibles Avant d accéder aux différents liens de téléchargement, le site propose à ceux qui le souhaitent de faire un don à la fondation Processing, qui accompagne le développement dulogicieletdulangage.cedonestbienentendutoutàfaitfacultatif,ilsuffitdecocher la case«no Donation» pour passer à l étapesuivante. Figure 1.2 L environnement de travail 3 Les cinq versions de Processing pouvant être téléchargées : Linux 32 bits et Linux 64 bits Le fichier téléchargé est une archive au format.tgz, que l on peut décompacter et que l on peut ensuite placer où l on veut sur son ordinateur, selon les droits d administration dont on dispose sur son système et selon la manière dont on l a organisé. La plupart des gens l installentdans leur dossier utilisateur. On choisit d installer la version 32 bits ou la version 64 bits selon la version du système d exploitation que l on utilise. Mac OS X Sous le système Mac OS X, le fichier téléchargé(une image-disqueau format compressé.dmg, comme la plupart des logiciels à télécharger pour Macintosh) arrive typiquement sur le bureau de l ordinateur. Il s exécute généralement de manière automatique. S il ne le fait pas, il suffit de double-cliquer sur l icône du fichier. Lorsque ce fichier est décompacté, une fenêtre apparaît et suggère de glisser le dossier Processing dans le dossier«applications» du système. Les versions de Processing supérieures à Processing 2.0 imposent au minimum l usage de Mac OS X Windows 32 bits et Windows 64 bits Sous Windows (Windows 7 et au-dessus), le fichier téléchargé est une archive au format.zip, que l on peut décompacter à l aide d un outil approprié (Winzip, Winrar...) mais que Windows sait aussi traiter tout seul. Cette archive contient un sous-dossier qui contient lui-même des sousdossiers. L ensemble doit être placé sur l ordinateur, de préférence dans le dossier «Program files» de Windows. On choisit la version 32 bits ou la version 64 bits du système utilisé. Pour connaître la version que l on a installée, il faut vérifier les informations générales du système, situées dans Panneau de configuration Système et sécurité Système. Dunod Toute reproduction non autorisée est un délit. Quel que soit le système employé, Processing peut être exécuté sans être installé il n est pas fourni avec un programme d installation et fonctionne sans avoir besoin de modifier le système d exploitation. Il est cependant avisé de ranger le programme dans un dossier approprié sur l ordinateur. Sur Macintosh, ce n est pas difficile, puisque Processing est constitué, en apparence, d un unique fichier. Sur les autres plates-formes, Processing est constitué d un dossier, qui lui-même contient des fichiers et des sousdossiers qu il faudra toujours déplacer ensemble afin d en respecter l arborescence. Sur la page de téléchargement, on peut se procurer les toutes dernières versions de Processing, mais aussi la version 1.5.1, sortie en mai 2011, qui est, parmi les versions «stables» celle qui est la plus compatible avec d anciens systèmes d exploitation ou avec certaines librairies externes. On peut trouver les anciennes versions de Processing, y compris versions alpha (pré-tests) et beta(tests viables) et le code source du logiciel sur la plate-forme Github : https://github.com/processing/processing L ENVIRONNEMENT DE TRAVAIL Processing est à la fois un langage et un environnement de travail. 4 1 Premier contact Il est possible d employer d autres interfaces que le logiciel Processing pour programmer dans le langage Processing, par exemple le logiciel Eclipse. Nous nous limiterons à la méthode la plus courante, qui est d utiliser le logiciel Processing. Notons que l interface de Processing peut être utilisée pour manipuler d autres langages que Processing, comme ses proches cousins Processing.js et Processing pour Android, mais aussi, comme le langage Python, très populaire auprès des chercheurs, notamment. Le passaged unlangageàunautresefaitparlebiaisdes«modes»,dontilseraquestion plus loin dansle livre. Lorsqu on lance Processing, on obtient une fenêtre assez simple. Figure 1.3 La fenêtre de démarrage de Processing La plus grande partie de cette fenêtre estsa zoned édition de texte, sur fond blanc. C est à cet endroit que l on rédige les programmes. En dessous de cette zone se trouve une seconde zone de texte, sur fond noir, que l on ne peut pas éditer soi-même et où s affichent divers messages relatifs au fonctionnement du programme, les messages d erreur, notamment. Notez que dans la version 3 de Processing, qui n est pas encore terminée à ce jour, la zone de messages distingue messageseterreurs,onpassed untypedemessageàunautreencliquantsurlebouton correspondant. L environnement de travail 5 Au-dessus de la zone d édition des programmes nous trouvons une barre d icônes (figure 1.3). Le premier bouton en partant de la droite vous semblera très familier puisqu il s agit du pictogramme Play, qui est universellement employé dans la Hifi et, bien sûr, par divers logiciels permettant de lire un flux audio ou vidéo. En cliquant dessus, on lance l exécutiondu codequi a été rédigé.il estpossibled obtenir lemêmerésultatensélectionnant la commande «Run» du menu «Sketch», ou en utilisant la combinaison de touches Ctrl+R. Si vous effectuez une de ces actions destinées à lancer l exécution du programme, vous constaterez l apparition d une fenêtre de petite taille ( pixels, précisément) et de couleur grise. Si vous faites l essai et que vous obtenez cette fenêtre grise(figure 1.4), ça signifiera que Processing fonctionne bien sur votre système d exploitation. Dunod Toute reproduction non autorisée est un délit. Figure 1.4 La fenêtre par défaut du programme. Cette fenêtre peut-être fermée, comme toutes les fenêtres système, à l aide de l icônequisetrouvedanssonbordsupérieurdroit.maisonpeutaussiutiliserlebouton Stop de Processing, parfois plus efficace, notamment lorsque la fenêtre d exécution du programme ne répond pas correctement. Figure 1.5 Les icônes Play, Stop, New, Open, Save, Export. 6 1 Premier contact Les quatre icônes de la figure 1.5 permettent d accéder à des fonctions essentielles : New Nouveau programme. Open Ouvrir un programme déjà enregistré. Save Enregistrer le programme en cours. Export application Convertir le programme en cours en application autonome. Deuxzonesde «sortie» (output) ontété prévues à l adressedes utilisateurs : une zone de message, en gris, où Processing affiche divers avertissements et commentaires ; une zone de sortie, en noir, où Processing affiche notamment les messages Java(en orange sur noir), qui sont souvent la version plus complète(mais moins lisible) des avertissements affichés sur la zone de message. Cette zone de sortie sert aussi à afficher des messages appelés depuis le programme à l aide des commandes print() etprintln(). Exemple Si vous écrivez ce programme : print( bonjour à tous! ); et que vous l exécutez en cliquant sur le bouton Play, vous verrez la chaîne de caractères Bonjour à tous! s afficher, sans guillemets, dans la zone noire. La commande print() est très pratique lorsque l on veut connaître l état d une variable, notamment. La commande qui suit, dont nous détaillerons le fonctionnement précis à la section 12.1, affiche dans la zone de sortie un nombre au hasard compris entre et : print(random(-100, 100)); À chaque exécution du programme, le nombre créé sera différent, et donc ce qui s affichera dans la zone dédiée aussi. La différence entre print() et println() est que la seconde commande saute une ligne avant d afficher un message puis saute une autre ligne après avoir affiché ce message. Exemple Si nous lançons ce programme : print( bonjour à tous ); print( bonjour à tous );... ce qui apparaîtra dans la zone inférieure sera le message : bonjour à tousbonjour à tous sans saut de ligne et sans espace entre les deux phrases. Si nous écrivons : println( bonjour à tous ); println( bonjour à tous ); nous obtiendrons en sortie : Une toute première approche 7 bonjour à tous bonjour à tous On peut utiliser le signe + pour concaténer (c est-à-dire associer) des messages et des variables, notamment pour les afficher avec print() et println(), dans le but d obtenir des chaînes de caractères, comme ceci : int age = int(random(7, 77)); println( Tintin convient aux personnes de +age+ ans ); Dunod Toute reproduction non autorisée est un délit. Ici,Processingad abordcrééauhasard(random)unnombrecomprisentre7et 77,et l a stocké dans la variable nommée age, puis a créé une chaîne de caractères composée de tintin convient aux personnes de , de la valeur de age et enfin, de la chaîne de caractères ans . Nous verrons dans le chapitre 4 ce que signifie le mot «variable», et dans le chapitre 12, comment on manipule le hasard. Vous pouvez lancer le programme plusieurs fois de suite pour en voir les effets. Enhautàdroitedel environnementdetravaildeprocessingsetrouveunboutonen forme de flèche. Lorsque l on appuie dessus, un menu apparaît pour nous proposer d ajouter des pages à nos programmes(new tab), de supprimer des pages(delete), de renommer une page (Rename) et de naviguer parmi les différentes pages du programme (Previous/Next). Si nous cliquons sur la commande New tab, Processing commencera par nous demanderde nommerla pagequenouscréons,puis ajouteraunepage viergeauprogramme. Dans la zone supérieure, nous aurons donc deux onglets, l un portera le nom de notre programme principal et l autre, celui de la nouvelle page que nous aurons créée. Il sera possible de naviguer d une page à l autre en cliquant sur les onglets. Notre «sketch folder» (le dossier dans lequel sont stockés les fichiers de notre programme) contiendra désormais deux fichiers pde . Au moment de l exécution, Processing traite toutes les différentes pages de programme d un même dossier comme un seul et unique programme. L intérêt de cette division du programme en plusieurs parties est de gagner en lisibilité et en organisation. Cel
Similar documents
View more...
Search Related
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x