Coding, Sounds and Colors | A blog about algorithmic experiments in music and visual art. Sort of. Overlook Combining some techniques from the previous posts on shaders, here’s the render of an audio reactive application which I used for a video of “Overlook”, a track of my musical alter ego The code uses vertex and fragment shaders to create a glitchy environment which reacts to the audio in real time. The track “Overlook” is available for listening here Dust From A G String Here’s “Dust From A G String”, a piece about the corrosive power of passing time, and the beauty it leaves behind, just before the end. The video was made in Processing, using a custom shader based on FBO techniques. Reaction-Diffusion algorithm and FBO techniques Reaction-Diffusion algorithms are very fascinating, since they are capable of producing incredibly organic patterns. PGraphics pong; PShader diff; pong.beginDraw(); pong.noStroke(); pong.fill(0, 255, 0); pong.ellipse(width/2, height/2, 10, 10); pong.endDraw(); } void draw(){ //// diffFrag.glsl varying vec4 vertColor; varying vec4 vertTexCoord; void main(){ fork({
Tutorial OpenCV : Isoler et Traquer une Couleur | GeckoGeek Continuons sur la lancée d’OpenCv. Nous avons vu dans le précédent billet comment récupérer le flux d’une vidéo ou d’une webcam. Avant d’afficher ce dernier, il est possible de faire subir aux images tout un tas de traitements (niark). L’un d’entre eux, qui est amusant et relativement facile à réaliser avec OpenCV, est le tracking d’objet. Par les détails ou par la couleur Globalement avec OpenCV vous pouvez utiliser facilement deux types de méthodes pour traquer des objets. Si votre objet contient des détails et qu’il n’a pas de couleur particulière (ie qui se détache fortement de son environnement) vous préférerez la première méthode. Dans ce tutoriel, nous allons nous intéresser à celle qui se base sur la couleur. Voici quelques vidéos de l’algorithme en action : Le code est maintenant expliqué pas à pas. Isoler une couleur Je suppose à partir de là que vous avez votre code qui récupère un flux vidéo. Binarisation L’image hsv La conversion de RGB vers HSV est sans perte. Le masque ou bien
Beautiful Programming shiffman/Face-It: A repository of Processing examples for ITP fall workshop about face detection, recognition, and miscellaneous tracking methods. Quarks Place La-Ligne-De-Temps / Processing Pour créer une animation, il faut qu'il y ait du mouvement. Le mouvement implique un changement du dessin dans le temps, par exemple une modification de la position ou de la couleur d'un de ces éléments graphiques. Les informations liées à ces changements peuvent être stockées dans des variables. Pour créer des animations, il faut savoir à quel moment nous nous trouvons par rapport à une ligne de temps. Pour ce faire, nous pouvons soit utiliser l'heure qu'il est, soit compter (par exemple de un à dix). Quelle heure est-il? Nous allons créer une horloge en appelant les méthodes hour(), minute() et second() de Processing. Le code pour réaliser cette horloge est très simple : void setup() { size(60, 60); noStroke(); } void draw() { background(0); // Les heures vont de 0 à 23, nous les convertissons à une // échelle de 0 à 60 rect((hour() / 24.0) * 60, 0, 1, 20); rect(minute(), 20, 1, 20); rect(second(), 40, 1, 20); } Les images sont dessinées les unes par-dessus les autres. int compteur;
25 life-saving tips for Processing | Amnon P5 - Experiments with Processing by Amnon Owed 25 life-saving tips for Processing Posted by Amnon on January 28, 2012 · 46 Comments Well, perhaps they won’t literally save your life. But they surely will help you write your sketches easier, faster and more efficiently! This post will be covering tips, tricks and other need-to-know information about Processing. 1. frameCount, millis(), modulo % and noise Let me start with a few functions that in themselves and in combination are extremely useful. 2. math, logical and relational operator shortcuts Any program will use operators. 3. math with ints A very common mistake is doing math operations on integers and expecting a floating number outcome. 4. frameRate Processing’s frameRate is by default capped at 60 fps. 5. loading specific files from an external input directory Many applications use file input, for example an image or a data file. 6. timestamp When saving output to a file you often need a way to distinguish between different sessions. 21. breakShape Disclaimer! Final note!
Les-Images / Processing Ce que nous appelons « image » dans Processing n'est en fait rien d'autre qu'une collection de pixels, rassemblés à l'intérieur d'un rectangle. Pour dessiner une image à l'écran, nous devons donner une couleur à chacun des pixels d'un rectangle, puis donner la position en {x,y} où nous voulons dessiner cette collection de pixels. Il est aussi possible de modifier la taille {largeur,hauteur} de notre image, même si ces dimensions ne correspondent pas à la taille originelle de l'image. Trouver une image Pour dessiner une image dans Processing, il faut commencer par trouver une image et l'importer dans notre sketch. Ici nous allons commencer avec une image légèrement réduite de l'île des peupliers à Ermenonville, trouvée sur le site Commons de Wikimedia (base de données d'images et de médias appartenant au domaine public ou sous licence libre) à l'adresse suivante : Formats d'image Glisser-déposer Importer une image image(ile,50,10) Changer de taille
Fun Programming - video tutorials to learn creative coding Playing with pixels ! Magic & Love Interactive – Bryan Chung's website on digital art, entertainment design and software design utdallas Virtual hands-on workshop : “Enjoyable Introduction to Programming using Drawings” by Dr. Jeyakesavan Veerasamy, CS faculty, University of Texas at Dallas, USA. While these materials have been targeted for workshops, they can certainly be used for self-paced learning from your home as well. Start the workshop with one of the shows in following directory – click on any showX.html (press F11 and go full-screen for the full effect!) All with just ~20 lines of code in Processing.js that contain a few simple math equations! Additional Topics Additional resources: · Khan Academy JavaScript documentation: www.khanacademy.org/cs/docs · Processing.js documentation: processingjs.org/reference · Sketchpad CC IDE: sketchpad.cc · OpenProcessing IDE: www.openprocessing.org/sketch/create · Processing examples: processing.org/examples A few advanced examples (mostly Recursion): var depth = 4; var length = 200; var factors = [1/3, 1/3, 1/3, 1/3, 1/3]; var turns = [-90, 90, 90, -90, 0]; var copies = 4; var angle = 90;
Showreel (Graphic Coding): 2010-2014+ A showreel by P&A LAB, Jia-Rey Chang as a short period of summary . Collecting majority of the previous experimental projects on visual graphical/architectural/interactive 2D/3D simulation from 2010 to 2014+. Special Thanks for the music, a little chess, by E.S.O.a.C from their first album: quarrel . Each individual video listed under: GenerateMe | tutorials, explanations, etc…