Annonce

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


#1 2015-12-17 17:31:53 Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Dans le potage!



Bonsoir

Je vais mettre ici, tout ce qui fait figer la mayonnaise! smile

Le chef m'envoie aux bains dès le void draw() sad
Ce tableau d'imago ne serait donc point global ou un élément conceptuel m'échappe?
Sûrement, car il y a des lustres que je ne suis pas revenu dans la cuisine!
Qui vient d'être refaite à ce que dit le gérant! roll
Merci d'avance du coup de main au vieux marmiton!

Ps une dernière pincée de sel : effacer entre deux affichages étant parti dans ce genre de soupe?

void setup(){
size(500,500);
PImage imago = createImage(400, 400, RGB);
imago.loadPixels();
  for (int i = 0; i < imago.pixels.length; i++) {
   imago.pixels[i] = color(0, 90, 102); 
  }
imago.updatePixels();
image(imago, 10, 10);
}

void draw(){
imago.loadPixels();
  for (int i = 0; i < imago.pixels.length; i++) {
   imago.pixels[i] = color(random (100),random(150), random(250)); 
  }
imago.updatePixels();
image(imago, 10, 10);
}

Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#2 2015-12-17 17:36:57 Re : Dans le potage!

matheynen
membre
Date d'inscription: 2008-06-09
Messages: 226

Re: Dans le potage!



Tu as déclaré ta variable PImage en locale alors qu'elle doir être globale.
Elle fonctionne ici juste dans la fonction setup().

Sinon c'est pas mal pour de la neige, on est bientôt à Noël.


Ce que vous avez fait au plus petit de mes frères, c'est à moi que vous l'avez fait.

Hors ligne

 

#3 2015-12-17 19:26:08 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



De ce que j'avais compris tout ce qui se trouvait dans le robot mixer void draw() tournait en rond à l'infini!

Alors comment ne passer qu'une fois sur cette déclaration de cette variable potagère ?


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#4 2015-12-17 19:35:47 Re : Dans le potage!

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

Re: Dans le potage!



Bonsoir,

Il suffit de renseigner une variable booléenne et de mettre une condition avant l'exécution de la création du bruit :

PImage imago;
Boolean toutePremiereFois;

void setup() {
  size(500, 500);
  imago = createImage(400, 400, RGB);
  toutePremiereFois = true;
}

void draw() {
  if (toutePremiereFois) {
    imago.loadPixels();
    for (int i = 0; i < imago.pixels.length; i++) {
      imago.pixels[i] = color(random (100), random(150), random(250));
    }
    imago.updatePixels();
    toutePremiereFois = false;
  }
  image(imago, 10, 10);
}

Hors ligne

 

#5 2015-12-17 20:05:48 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Ah, bien sûr, si on a le droit d'écrire des chose avant le Void setup()
c'est pas la même chose! Voilà ce que c'est d'avoir les yeux dans le bouillon! smile

Mais bon, c'est toujours pas ça, car on fait quand même un test à chaque tour de roue! smile

J'avais dans l'idée de changer les valeurs du tableau dans l'intérieur du tourniquet

Pseudo Code:
Initialisation d'un tableau (de petit Maître smile

Tourniquet
affichage tableau
changement des valeurs du tableau
Aller à Tourniquet

Dernière modification par Pilou (2015-12-17 20:08:15)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#6 2015-12-17 21:08:41 Re : Dans le potage!

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Dans le potage!



Quelque chose comme ça  ?

Code (p5) :

PImage imago;

void setup() {
  size(500, 500);
  imago = createImage(400, 400, RGB);
  tourniquet();
}

void draw() {

  image(imago, 10, 10);  
  tourniquet();

}

void tourniquet() {
  imago.loadPixels();
  for (int i = 0; i < imago.pixels.length; i++) {
    imago.pixels[i] = color(random (100), random(150), random(250));
  }
  imago.updatePixels();
}

L'Amour au Peuple !

Hors ligne

 

#7 2015-12-17 22:47:57 Re : Dans le potage!

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

Re: Dans le potage!



Tu sais, il est parfois assez difficile de comprendre ce que les personnes qui posent des questions souhaitent. Alors si tu ajoute à cela des métaphores qu'il n'est pas aisé d'interpréter, la tâche devient ardue.
Je ne critique aucunement l'humour, les diverses congrégations geek en manque singulièrement, mais le principe du langage est de se faire comprendre malgré tout.

Voici ce que je te propose. Tu peux changer quand tu le souhaites la neige dans l'image. Ici c'est par la pression de la touche espace :

PImage imago;

void setup() {
  size(500, 500);
  imago = createImage(400, 400, RGB);
  changementBrouillard();
}

void draw() {
  image(imago, 10, 10);
}

void keyPressed() {
  if (key == ' ') {
    changementBrouillard();
  }
}

void changementBrouillard() {
  imago.loadPixels();
  for (int i = 0; i < imago.pixels.length; i++) {
    imago.pixels[i] = color(random (100), random(150), random(250));
  }
  imago.updatePixels();
}

Hors ligne

 

#8 2015-12-18 00:40:16 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Excellent, cela me remet les idées en place!

Autant la solution d'Olivier correspond à la logique que je subodorais.
Autant la solution de Mushussu heurte ma sensibilité! smile
Je croyais plus à un truc du genre où tout part du noyau

void draw() {
  changementBrouillard();
  image(imago, 10, 10);
  attente();
}

Pas encore trouver comment adapter la syntaxe du KeyPressed à cet état de fait mais pas grave...

Mais sinon très bien, je peux continuer mes élucubrations!
Je ne vais pas tarder à revenir avec des interrogations sur les couleurs de pixels et la meilleure façon
de les traiter!

Dernière modification par Pilou (2015-12-18 01:11:32)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#9 2015-12-18 12:32:06 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Plat de résistance. smile
Soit faire un petit "magnétoscope" permettant de surfer sur les images possibles d'un écran de taille X,Y donnée.

Pour fixer les idées un écran de 1000 * 1000 pixels avec 16 777 216 couleurs en théorie
donne 16 777 216 puissance 1.000.000 images possibles soit un nombre de 72 Milliards de chiffres à la louche!
(c'est un grand nombre! smile
un écran 500 * 500 pixels avec le même nombre de couleurs donne un nombre de 1.8 Milliard de chiffres à la louche! smile
(Plus petit mais grand quand même)

Ces listes d'images possibles sont donc finies, triées, ordonnées suivant le codage couleur employé.
Il suffit de parcourir ces listes pour en afficher une image.
Il va de soit qu'il y aura plus d'images de "bruit" que d'images intelligibles pour nos yeux ébaubis! smile
Estimer ce pourcentage à la louche peut permettre de restreindre le domaine de recherche.

Par contre il existe de fait un écart moyen entre ces images "intelligibles", une sorte de Graal! (le Pas) smile

Devrait pouvoir fonctionner avec 4/5 touches tout au plus.

Flèches Haut / Bas : Incrémenter / Décrémenter le Pas
Flèches Gauche : Droite : Marche Avant / Arrière
Flèches enfoncées + SHIFT: calcul en Interne (dernière image affichée)
Flèches enfoncées: Affichage de l'image (sans arrêt)
Flèches relâchées Affichage de l'image Arrêt

On peut noter qu'une image se retrouve plusieurs fois dans ces listes à quelques pixels près!
Que le Pas peut être une image elle-même.
Que tout univers observable à une taille d'écran donnée se trouve dans ces listes! Même à l'échelle 1! smile
De même que l'affichage du futur programme qui va les afficher! Par parties bien sûr! smile



A suivre...

Dernière modification par Pilou (2015-12-18 15:33:03)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#10 2015-12-18 17:53:30 Re : Dans le potage!

Olivier
N°4
Lieu: Chalon sur la Saône
Date d'inscription: 2009-04-07
Messages: 1471
Site web

Re: Dans le potage!



Pour ta bibliographie, sache que, dans le même esprit, un projet a déjà écrit tous les livres possibles de 3200 caractères, ce qui fait déjà 10⁴⁶⁷⁷ livres... tongue

https://libraryofbabel.info

Un autre a écrit toutes les mélodies possibles (y compris Blurred Lines) :
https://www.youtube.com/watch?feature=p … apI#t=1814


L'Amour au Peuple !

Hors ligne

 

#11 2015-12-19 00:03:39 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Oui très Borgésien tout cela! cool
La Bibliothèque de Babel en étant le paradigme parfait!wink
On avait bien déliré là-dessus! smile

Dernière modification par Pilou (2015-12-19 00:15:05)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#12 2015-12-19 18:37:23 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Pour un écran 1000*1000 et 16.777.216 couleurs
L'index de la liste est l'image elle-même: évidemment pas question de "lister" cette liste, les univers connus n'y suffiraient pas, on ne fait  que se positionner dessus! smile
l'index de l'image va de 0 à 999.999
la couleur du pixel d'une image se trouve dans l'index du tableau de l'image
les temps de conversions (si besoin) seront-ils négligeables quand il faudra les appliquer des millions de fois?
d'où l'emploi différents de systèmes Hexa, Decimal, ou en Base 16.777.215
Le système décimal permettra l'emploi direct de Modulo si besoin

Tableaux Uni-dimentionnels (une "bande") pour éviter des opérations de réaffectations, des boucles multiples.
Pré-calcul d'une famille de Pas:
d'un même nombre que le nombre de pixels, en "bandelettes" , d'une "force de couleur" inversement proportionnelle à leurs "longueurs".

La réaffectation d'un tableau de l'image (1 million de pixels) en interne (sans réaffichage de l'image)
se faisant 10 000 fois en une vingtaine de secondes, il va falloir jouer sur la taille du Pas et non trop compter sur sa répétition! smile

Dernière modification par Pilou (2015-12-22 10:57:31)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#13 2015-12-22 12:22:01 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Hello
Les yeux dans le bouillon!
Pourquoi les images n'apparaissent pas l'une après l'autre, en boucle (même très rapidement) et restent bloquées sur la dernière?
(elles existent bien toutes les deux, car quand j'inverse dans le "void draw()", c'est la deuxième qui se bloque! )
Je ne montre pas la 2ème, elle est trop connue la Mona du Léonard! Là c'est Edward H qui s'y colle! smile

La page de la documentation ne m'aide en rien sur cet état de fait!

      PImage joko;
      PImage bato;      
             
      void setup() {  
      size(999, 999);  
      joko = loadImage("joc2.jpg");
      bato= loadImage("boat.jpg");         
      }
 
      void draw() {  
      image(joko, 0, 0,999,999);   
      image(bato, 0, 0,999,999);
      //image(bato, 0, 0,999,999);   
      //image(joko, 0, 0,999,999);
      }

http://s6.postimg.org/qnz35dd75/proc.jpg

Dernière modification par Pilou (2015-12-22 12:34:56)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

#14 2015-12-22 14:44:59 Re : Dans le potage!

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

Re: Dans le potage!



Bonjour,

En fait, la fenêtre de visualisation se remplit à la fin de la méthode draw(). C'est à dire tu peux construire ton image avec des bouts de couleurs, mais ils ne s'afficheront pas progressivement, mais en même temps.
Si tu souhaites afficher une image puis une autre :

      PImage joko;
      PImage bato;      
             
      void setup() {  
      size(999, 999);  
      joko = loadImage("joc2.jpg");
      bato= loadImage("boat.jpg");         
      }
 
      void draw() {  
      if (frameCount % 2 == 0) {
      image(joko, 0, 0,999,999); 
      } else {  
      image(bato, 0, 0,999,999);
      }
      //image(bato, 0, 0,999,999);   
      //image(joko, 0, 0,999,999);
      }

Hors ligne

 

#15 2015-12-22 22:48:14 Re : Dans le potage!

Pilou
membre
Date d'inscription: 2014-07-15
Messages: 78

Re: Dans le potage!



Excellent! Effectivement il vaut mieux le savoir! Je pense que je ne suis pas au bout de mes surprises! smile
Un petit délai histoire de ralentir le clignotement et c'est tout bon!
Enregistré à la volée avec le fabuleux simplissime free GifCam (site VF)
(il y a bien d'autres fariboles sur ce site) roll

http://s6.postimg.org/c8lrk7pjl/GIF_joko_bato.gif

Dernière modification par Pilou (2015-12-22 22:54:57)


Est beau ce qui plaît sans concept
Petit site

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024