Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2014-05-22 00:39:49 avoir une trainée de papillons dans mon rendu Millumin via Syphon

icola
nouveau membre
Date d'inscription: 2014-05-22
Messages: 1

avoir une trainée de papillons dans mon rendu Millumin via Syphon



Bonjour Bonsoir,
Voilà c'est mon premier post, je suis sur la créa d'un spectacle jeune public et j'utilise Pg pour mes rendus animés que j'envoie via Syphon dans Millumin.
Et mon soucis c'est que j'ai bidouillé un sketch d'un joli papillon qui me fait une belle trainée (background(0,70)wink mais je n'ai pas le rendu de cette trainée dans millumin!
Je m'évertue à chercher depuis deux trois nuits sans succès.
Si qq un a un peu de temps à me consacrer j'en serais ravi.
Merci d'avance!

Voici le sketch (dispo en piece jointe aussi):


import codeanticode.syphon.*;
PGraphics canvas;
SyphonServer server;

int radius;
int ellipseSize;
int legLength;
int cx;
int cy;
int rotated;
int howMany;
int transparency;
//int redtransparency;

void setup() {
  size(1024, 768, P3D);
  background(0, 0, 0);
  //fill(255);

  frameRate(16);

  canvas = createGraphics(1024, 768, P3D);
  server = new SyphonServer(this, "Processing Syphon");
  //canvas.background(0);
}

void draw() {

 
  canvas.beginDraw();
  canvas.background(0, 0, 0, transparency);
 
  canvas.noStroke();

  canvas.ellipseMode(CENTER);


  float cx = mouseX;
  float cy = mouseY;
  howMany = int(random(20));
  for (int l = 0; l < howMany; l++) {
    rotated = int(random(0, 100));
    legLength = int(random(5, 15)); //taille du pap
    transparency = int(random(10, 90));
    // redtransparency =int(random(150,200));

    for (int j = 0; j < 50; j++) {
      float legW = cx + cos(radians(5*j+rotated)) * legLength;
      float legX = cy+ sin(radians(10* j+rotated))* legLength;


      canvas.fill(255, transparency);
      canvas.ellipse(cx, cy, 1, 1);
      //fill(255,255,0,transparency);
      //ellipse(cx, cy - 25, 1,1);

      canvas.stroke(255, 255, 0, transparency); //couleur pap
      canvas.line(cx, cy, legW, legX);
      //ellipse(legX, legX, radius, radius);

      if (legLength < 50) {
        //canvas.fill(103,29,15,redtransparency);
        canvas.ellipseMode(CENTER);
        canvas.ellipse(legW, legX, 2, 2);
      }
      else {
      }
    }
  }


  canvas.endDraw();
  image(canvas, 0, 0);
  server.sendImage(canvas);
}

Hors ligne

 

#2 2014-05-22 06:18:37 Re : avoir une trainée de papillons dans mon rendu Millumin via Syphon

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: avoir une trainée de papillons dans mon rendu Millumin via Syphon



Bonjour,

En fait il faut construire ton canvas avec le précédent estompé. Le précédent est affiché comme une image.

import codeanticode.syphon.*;
PGraphics canvas, precCanvas;
SyphonServer server;

int radius;
int ellipseSize;
int legLength;
int cx;
int cy;
int rotated;
int howMany;
int transparency, estompage;
//int redtransparency;

void setup() {
  size(1024, 768, P3D);
  background(0, 0, 0);
  //fill(255);

  frameRate(16);

  canvas = createGraphics(1024, 768, P3D);
  precCanvas = createGraphics(1024, 768, P3D);
  server = new SyphonServer(this, "Processing Syphon");
  noCursor();
  estompage = 10;
}

void draw() {
  background(0);
  canvas.beginDraw();
  canvas.background(0);
  canvas.noStroke();
  canvas.image(precCanvas, 0, 0, width, height);
  canvas.fill(0, estompage);
  canvas.rect(0, 0, width, height);
  canvas.ellipseMode(CENTER);
  float cx = mouseX;
  float cy = mouseY;
  howMany = int(random(20));
  for (int l = 0; l < howMany; l++) {
    rotated = int(random(0, 100));
    legLength = int(random(5, 15)); //taille du pap
    transparency = int(random(10, 90)); 
    // redtransparency =int(random(150,200)); 

    for (int j = 0; j < 50; j++) {
      float legW = cx + cos(radians(5*j+rotated)) * legLength;
      float legX = cy+ sin(radians(10* j+rotated))* legLength;
      canvas.fill(255, transparency);
      canvas.ellipse(cx, cy, 1, 1);
      //fill(255,255,0,transparency);
      //ellipse(cx, cy - 25, 1,1);

      canvas.stroke(255, 255, 0, transparency); //couleur pap
      canvas.line(cx, cy, legW, legX);
      //ellipse(legX, legX, radius, radius);

      if (legLength < 50) {
        //canvas.fill(103,29,15,redtransparency);
        canvas.ellipseMode(CENTER);
        canvas.ellipse(legW, legX, 2, 2);
      } else {
      }
    }
  }
  canvas.endDraw();
  image(canvas, 0, 0);
  precCanvas = canvas;
  server.sendImage(canvas);
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025