Vous ne pouvez pas modifier cette page, pour les raisons suivantes :
Documentation:
== Explications == Une personne ayant [http://codelab.fr/5451#p27708 demandé sur le forum Codelab] comment générer le tracé d'un chemin aléatoire, j'ai partiellement répondu à sa demande et réalisé que ce pourrait être la base d'un filtre vidéo. À chaque frame, 500 segments sont dessinés aléatoirement au bout des 500 précédents. Leur couleur est déterminée par celle du pixel de la vidéo où se situe la première extrémité de chaque segment. == Vidéo == {{#ev:vimeo|114697452}} == Code == <syntaxhighlight lang="java"> import processing.video.*; Capture cam; int Longg = 640; int Largg = 480; int nbPix = Longg*Largg; Chemin[] carte; void setup() { cam = new Capture(this, Longg, Largg, "/dev/video0", 20); cam.start(); size(cam.width, cam.height); frameRate(60); carte = new Chemin[500]; for (int i=0; i<carte.length; i++) { carte[i] = new Chemin(); } background(0); } void draw() { if (cam.available() == true) { cam.read(); } for (int i=0; i<carte.length; i++) { carte[i].dessine(); } } class Chemin { int X1, Y1, X2, Y2; color couleur; Chemin() { } void dessine() { if (frameCount == 1) { X1 = width/2; Y1 = height/2; X2 = X1 + decalage(); Y2 = Y1 + decalage(); } if (X1>0 && X1<width && Y1>0 && Y1<height) { couleur = cam.pixels[X1+Y1*width]; } stroke(couleur); line(X1, Y1, X2, Y2); X1 = X2; Y1 = Y2; X2 = X1 + decalage(); Y2 = Y1 + decalage(); } int decalage() { // retourne -5, 0 ou 5 return(1*(int(random(3))-1)); } } </syntaxhighlight> [[Catégorie:Processing]]
Résumé :
Modification mineure Suivre cette page
Annuler