Indisciplinarité

Catégorie : Non classé

Processing : Exporter des images vectorielles

Parfois, nous aimerions importer en bonne qualité nos images générées par Processing dans InDesign ou Illustrator. Voici un tutorché qui explique comment faire pour exporter nos créations au format vectoriel .svg.

Exporter en .svg

Avec Processing 3, nous pouvons exporter des images vectorielles au format .svg par le biais de la bibliothèque… « SVG Export », installé par défaut. Bingo. Elle s’utilise comme la bibliothèque « PDF Export », bibliothèque qui elle, est un peu mieux documentée, si jamais vous êtes en manque d’informations. Nous pourrons ainsi générer des images sous Processing, sans se soucier de la définition de nos images. Voyez plutôt :

import processing.svg.*;
 
size(600, 600);
 
beginRecord(SVG, "dessinVectoriel.svg");
background(11, 10, 93);
noStroke();
fill(188, 42, 100);
ellipse(300, 300, 50, 50);
endRecord();

Normalement dans votre dossier projet, vous avez votre fameux fichier !

Importer son image vectorielle dans inDesign

Sauf erreur de ma part, InDesign (j’ai essayé sur un CS6) n’est pas capable d’importer du .svg. Honte à lui! Tss, tss. Mais il y a une solution. On va importer le .svg dans Illustrator (ou éventuellement InkScape), on sélectionne tout (cmd + a ou ctrl + a), copier notre image, puis la coller dans notre logiciel de PAO favori (il faut quand même bien l’avouer…). Et maintenant nous avons une image que nous pouvons agrandir, étirer… Comme toute forme vectorielle qui se respecte dans inDesign, ou pourra même modifier les couleurs si on le souhaite.

Capture d’écran 2016-01-17 à 13.34.14

Waouh, aucune baisse de qualité. Si l’image de droite vous parait légèrement floue, c’est juste parce que ma valeur de zoom sur InDesign est impaire. Si on re-zoom, ça disparait 😉

N’ayons plus peur d’imprimer !

Cet article a été publié le 17 janvier 2016.

Python et le « code créatif »

Ce blog parle d’outils dédiés à la création visuelle, et notamment de Processing et de son grand-frère openFrameworks. J’ai choisi de parler de Processing, car, de part sa simplicité, c’est selon moi sans doute le meilleur choix à faire quand on débute en programmation; Je parle également d’openFrameworks car, dans la gestion de sources plus conséquentes (par exemple supporter de nombreux flux vidéos), il a les épaules assez balèzes pour tenir le coup, bien que plus complexe à utiliser. Le cahier de cours que je suis en train d’écrire porte sur ces deux bibliothèques. Mais tout d’un coup, Python, très polyvalent me semble aussi très attractif…

Même si je savais que Python étant langage lui aussi connu pour sa simplicité et souvent recommandé pour les débutants, je ne m’y étais pas intéressé jusqu’à là. Son contexte d’apprentissage se fait dans un premier temps dans un environnement relativement austère où l’on fait quelques tours de passe-passe avec les concepts basiques comme les variables, les dictionnaires ou les tableaux… Le débutant à ses mornes débuts aura alors comme seul retour, les réponses d’une console. Au début, il peut même s’avérer qu’on ait du mal à concevoir concrètement à quoi sert ce langage (qui peut par ailleurs faire beaucoup de choses comme on le verra par la suite) pour finalement se dire que c’est sans doute un langage adressé aux informaticiens qui aiment faire des choses abstraites, sans véritable retour visuel. Pour les graphistes/vidéastes/designers que nous sommes, les débuts pourront être potentiellement assez décourageants.

J’ai le sentiment que les nombreux tutoriels que l’on peut trouver ne s’adressent pas particulièrement à un public « d’artistes », mais plutôt à un public d’informaticiens. Je n’ai à l’heure actuelle trouvé aucune ressource complète de l’utilisation de Python à des fins visuelles et/ou interactives adressé aux débutants en informatique comme Processing (qui, rappelons-le, est effectivement fait pour ça). Python ne semble pas être « vendu » comme un outil de création pour les artistes. Et pourtant les quelques perles trouvées sur la toile peuvent prouver le contraire.

Python pour designer graphiques et typographes

Python pourra sans doute intéresser les graphistes/typographes. Le logiciel FontLab, un des logiciels de références pour faire de jolies polices de caractère (mais qui n’est pas libre :-p) peut nous permettre d’exécuter des programmes en Python. Ainsi, par le biais d’un script, on pourra créer et compiler une police de caractères pouvant gérer l’aléatoire, le comportement d’une lettre par rapport à une autre…

wip001

Python for typographic designer

UFO, bibliothèque python

L’exemple ci-dessus

Python pour l’édition numérique et le design interactif

Python, par le biais de la bibliothèque Kivy pourra nous permettre de réaliser des applications (jeux, interfaces de contrôles…)  pouvant être portées sur Windows, Linux et Mac (merci Python!).

kaleidoscope-thumb kivyandroid-thumb

La bibliothèque Kivy

Source des images ci-dessus

Python pour la vidéo dans un contexte interactif

Vous avez peut-être déjà entendu parlé d’openCV? Eh bien, sans grand étonnement finalement, Python a la chance de pouvoir utiliser les fonctions dédiés à la vision numérique de cette bibliothèque développée en C (langage qui est plus bas niveau que Python). Avec openCv, on pourra gérer les entrées vidéos (et détecter des webcams, une kinect…), et multiplier les sorties sans code lourdeau. Pratique pour réaliser des installations multi-écrans!

800px-Mosaic

OpenCv étant à la base un paquet d’algorithmes magiques de vision par ordinateur (pour détecter depuis un ou plusieurs flux vidéos, un visage, une main, un motif, une couleur…) il sera possible de concevoir des applications physiques et interactives dont les questions-réponses homme/machine sont basées sur les gestes, les mouvements, les couleurs, les formes…

Labomedia, introduction empirique à openCv (source de l’image ci-dessus)

Python, openCv

Programming computer vision with Python

On peut jouer avec les codecs et faire plein d’autres trucs marrants:

http://wiki.labomedia.org/index.php/Vid%C3%A9o_3-bit_en_console

Python, Processing, openFrameworks…

Il ne s’agit pas ici de comparer ces trois langages (qui sommes-nous pour juger?) mais de jauger pour les néophytes que nous sommes, quel langage pourra être le plus attrayant pour commencer le « code créatif » et se projeter ensuite dans la maitrise d’un langage qui nous permettra de couvrir une majorité de nos envies (on pense à la polyvalence, la puissance, la simplicité d’un langage, mais on ne peut pas tout avoir non plus!).

L’univers qui englobe la philosophie de ces différentes bibliothèques diffère. L’univers de Python et de ces bibliothèques dédiées à la création visuelle est relativement austère, et ne s’adresse pas particulièrement à un public d’artistes, contrairement à Processing ou oF… On pourra se sentir un peu à l’abandon parfois avec les tristes ressources des bibliothèques en question. Mais, ça, c’est à nous, graphistes, peintres, vendeur de choucroute ou que sais-je de s’y mettre et d’écrire un « Faire joujou avec des formes et des couleurs avec Python » par exemple.
J’ai remarqué également que la plupart des installations interactives que j’ai pu voir sont faites en général avec Pure Data, Processing, ou openFrameworks. Ce constat, dans une échelle plus grande que celle de mon expérience personnelle, n’est pas forcément vraie; ça ne constitue pas bien sur un argument pour abandonner Python, qui sert à faire également beaucoup de choses, notamment dans le domaine du web.

matrice69

Ci-dessus, la Grille de l’Amour, mur de dessin interactif en ligne.

Avec Python, on peut également faire joujou avec un RaspberryPi (grossièrement: un petit ordinateur avec des pins en plus). Remarquable pour réaliser des installations interactives comme des bornes d’arcades…

Finished-747952

Pour en finir mince

Ce qui me pousse à m’intéresser à Python c’est tout d’abord sa syntaxe limpide. Deuxièmement, je bosse davantage sur les flux vidéos que sur du dessin génératif, j’ai donc besoin d’un langage assez réactif; pour la puissance, plutôt que de « subir » la syntaxe particulière d’openFrameworks (qui n’est pas insurmontable, mais bon), j’ai envie d’un petit gain de puissance par rapport à Processing tout en gardant la simplicité de Python. Troisièmement, la documentation sur la vision par ordinateur avec Python est semble assez complète, mais ça vous vous en foutez peut-être. Quatrièmement, sa portabilité sur Android, iOS, Windows et Linux avec Kivy pour concevoir des applications faites maison sans passer par du Java ou du C++. Cinquièmement, Python semble un bon langage pour piloter du hardware comme le (la?) Raspberry Pi. Il y en a même qui hacke des Minitels avec.

Sur le blog de l’openAtelier de Labomedia (qui propose d’ailleurs de vous faire découvrir gratuitement sur Orléans les langages Python, Processing ou Pure Data) on peut trouver par mal de bidouillages fait avec Python.

OpenAtelier, Labomedia

Cet article a été publié le 21 juin 2015.

L’objet du blog

L’objet premier du blog, c’est répondre aux envies de mes camarades parfois demandeur d’un petit topo sur les outils dédiés à l’élaboration d’œuvres interactives comme Processing ou OpenFrameworks. Au sein de l’école, les cours sur ce sujet étant manquants, l’idée est donc de faire découvrir les nouveaux pouvoirs que l’on peut acquérir par le biais de la maitrise de langages informatiques ou matériel électronique comme Arduino. L’objet second est d’établir une synthèse des informations et des sources récoltées ici et là dans des livres ou bien sur la toile; Ainsi l’édition présente est un « cahier de cours » en ligne; ça me permet à moi de clarifier ce que j’apprends, tout en rinçant du mieux que je peux, mes camarades.

J’avais déjà commencé deux cahiers de cours, un sur Processing, l’autre sur OpenFrameworks (oF) à des fins interactives dans le cadre de création audiovisuelle. Ici, je reprend tout de zéro, des bases de la programmation avec Processing aux outils plus avancés comme oF. De plus, afin de se préparer à la lecture et à la compréhension d’algorithmes ou d’équations mathématiques plus avancés (afin de concevoir des modestes modules de vision numérique) nous ferons des parallèles et des illustrations avec des phrasés mathématiques basiques.

Plutôt que de design graphique (et sa dimension générative par le biais du code), nous parlerons davantage de vidéo et d’interfaces interactives qui prendront corps au sein d’installation physique ou de performances audiovisuelles.

Si vous ne comprenez pas tout, pas de soucis, on reprendra tout depuis le début! Pour commencer, cliquez sur « Introduction » dans le menu à gauche! Bonne chance!

Source : Aaix, Programming interactivty

Cet article a été publié le 8 juin 2015.
« Page précédente