Annonce

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


#1 2014-05-04 14:39:26 Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Bonjour,

Voilà qu'avec un ami qui s'y connait un petit peu nous avons tenté de coder un élément indispensable à la suite de mon projet artistique. Cependant nous avons buté.
Votre aide serait la bienvenue si quelqu'un à la solution.

Je vous explique ma démarche (s'il y a des floues n'hesitez pas à me demander ^^ )


Voici la structure que doit prendre le code

http://codelab.fr/up/img041-1.jpg

Les chiffres sont alloués aux lettres de cette facon :
A = 1          pour les nombres cela donne 2 chiffres : 10 donne 1 et 0
B = 2
C = 3
...
J = 10

Ces chiffres de 0 à 9 correspondent à des couleur definit comme ci :
Le 7 et 8 ne correspondent à rien je les ai donc alloué à du gris

http://codelab.fr/up/couleur-variable.jpg


Donc je résume la chose avec le mot de départ du code : INFINI

http://codelab.fr/up/img042.jpg

les fiches identitaires sont situées à droite du spectre chromatique


Voilà ! avec mon ami nous avons réussis à allouer les variables correctement pour générer la "fiche" du mot infini
Seulement quand il s'agit de lancer la boucle on s'est retrouvé coincé surement due au fait qu'on ne sait pas vraiment comment faire des groupes de variables ou autre ....

Bref si vous étes arrivé là c'est que vous avez tout lus c'est que vous êtes vaillant ! : p en espérant que quelqu'un puisse m'offfrir une vision divine sur la manière de coder ca roll

Merci d'avance.

Bien à vous cher codeur !

Stéphane.

Hors ligne

 

#2 2014-05-04 18:11:42 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

top
membre
Date d'inscription: 2012-04-12
Messages: 43

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



J'ai deux questions big_smile
    1) Ça s'arrête quand ?
    2) Tu affiches les résultats sous quelle forme ?

Hors ligne

 

#3 2014-05-04 20:20:09 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



^^
Alors :
1) si c'est une boucle techniquement ca s'arrete quand on stoppe manuellement la boucle sinon ca s'arrete pas
2) j'aimerais d'une part lancer le code et que ca genere une suite de chiffre dans un fichier txt par exemple, d'autre part j'aimerais par la suite ajouter une variable qui donne des couleurs à ces chiffres généré puis un son etc peut etre en incorporant le code dans pure data : )

Mais pour ca j'ai besoin de l'aide d'un codeur qui saurait manipuler des groupes de variables ... big_smile

Hors ligne

 

#4 2014-05-04 22:53:12 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

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

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Voici le code qui répond aux contraintes :

String[] couleur = {"blanc", "jaune", "rouge", "bleu", "orange", "violet", "vert", "gris", "gris", "noir"};
String test;

void setup() {
  size(200, 200);
  test = "infini";
  println(test);
}

void draw() {
  test = motNombre(test);
  println(test);
  test = nombreCouleur(test);
  println(test);
}

String motNombre(String mot) {
  mot = mot.toLowerCase();
  String resultat = "";
  for (int i = 0; i < mot.length(); i++) {
    int c = (int)mot.charAt(i) - 96;
    resultat += Integer.toString(c);
  }
  return resultat;
}

String nombreCouleur(String nombre) {
  String resultat = "";
  for (int i = 0; i < nombre.length(); i++) {
    int c = (int)nombre.charAt(i) - 48;
    resultat += couleur[c];
  }
  return resultat;
}

Mais les chaines générées grandissent à très grandes vitesses, trop.

Hors ligne

 

#5 2014-05-04 23:46:15 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



c'est à dire trop ?
Cela à t'il un rapport avec les performance de l'ordinateur qui va générer le "code"
Cela reste t'il envisageable sur 30 min par exemple ?


En tout cas merci pour une reponse aussi rapide et d'avoir pris le temps de me lire smile

Bien à vous cher codeur !

Hors ligne

 

#6 2014-05-05 08:04:52 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

top
membre
Date d'inscription: 2012-04-12
Messages: 43

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Oui trop vite pour écrire les résultats dans un fichier
Par exemple au bout de 10 tours de boucle en majorant le tout
c'est à dire dans le pire cas tu auras environ (2*10^9 *n) chiffres !
+ tout ceux des tours précédents c'est énorme

Hors ligne

 

#7 2014-05-05 08:51:25 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

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

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Pour te donner une idée avec le script ci-joint, le  fichier 14 fait 11Mo au bout de 2minutes de traitement.

String[] couleur = {
  "blanc", "jaune", "rouge", "bleu", "orange", "violet", "vert", "gris", "gris", "noir"
};
String test;
InputStream input;
OutputStream output;
int compteur;

void setup() {
  size(200, 200);
  output = createOutput("data0.txt");
  test = "infini";
  try {
    for (int i = 0; i < test.length(); i++) {
      output.write(test.charAt(i));
    }
  }
  catch (IOException e) {
    e.printStackTrace();
  }
  finally {
    try {
      output.close();
    } 
    catch (IOException e) {
      e.printStackTrace();
    }
  }  
  println(test);
  compteur = 0;
  //noLoop();
}

void draw() {
  println(compteur);
  output = createOutput("data" + (compteur + 1) + ".txt");
  input = createInput("data" + compteur + ".txt");
  try {
    int data = input.read();
    int[] dataSortie;
    while (data != -1) {
      if ((compteur % 2) == 0) {
        dataSortie = motNombre(data);
        for (int i = 0; i < dataSortie.length; i++) {
          output.write(dataSortie[i]);
        }
      } 
      else {
        dataSortie = nombreCouleur(data);
        for (int i = 0; i < dataSortie.length; i++) {
          output.write(dataSortie[i]);
        }
      }
      data = input.read();
    }
  }  
  catch (IOException e) {
    e.printStackTrace();
  }
  finally {
    try {
      output.close();
      input.close();
    } 
    catch (IOException e) {
      e.printStackTrace();
    }
  }
  compteur++;
}

int[] motNombre(int lettre) {
  int[] resultat;
  lettre -= 96;
  //println(lettre);
  if (lettre < 10) {
    resultat = new int[1];
    resultat[0] = 48 + lettre;
  } 
  else {
    resultat = new int[2];
    resultat[0] = 48 + lettre / 10;
    resultat[1] = 48 + lettre % 10;
  }
  return resultat;
}

int[] nombreCouleur(int nombre) {
  String nomCouleur = couleur[nombre - 48];
  int[] resultat = new int[nomCouleur.length()];
  for (int i = 0; i < nomCouleur.length(); i++) {
    resultat[i] = (int)nomCouleur.charAt(i);
  }
  return resultat;
}

Hors ligne

 

#8 2014-05-09 14:54:28 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



ok, merci d'avoir pris ce temps pour me le montrer.
Dans le pire des cas je ferais un fichier qui n'aura tourné que 5 min ca suffira à générer la quantité de chiffre nécessaire, je ferais ensuite tourné ce meme fichier en boucle.

Est ce difficile de générer une lecture de ces dit-nombres pour associer chaque chiffres à une couleur et un son ? et de faire tourner tout ca en boucle ? A partir du fichier qui à été généré par le code ci dessus j'imagine.

Cordialement,

S

Hors ligne

 

#9 2014-05-10 09:00:52 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

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

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Ce sketch Processing génère les fichiers directement. Ce qui apparaît en console est l'indice des fichiers créés au fur et à mesure

Pour faire apparaître les fichiers, va dans le menu Processing : Sketch > Show Sketch Folder

Bon courage.

Hors ligne

 

#10 2014-05-10 11:55:17 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Super ca marche, qui plus est cela me genere le fichier texte et le fichier chiffre !

OO grand merci pour ton aide !

big_smile

Hors ligne

 

#11 2014-05-11 16:01:34 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Et du coup, qu'est ce qui est le plus simple :

Intégrer directement au code une variable qui génére un rectangle de couleur en fonction du chiffre généré ainsi qu'une note musicale
Ou
reprendre les fichiers .txt dans un autre skecth pour lors de la lecture de ce dit fichier lui donner les variables de: un chiffre=une couleur=une note musicale

Amicalement,

Stéphane.


Peut être dois je m'orienter vers pure data pour la lecture du fichier.txt contenant les chifffres ?

Dernière modification par zalicks (2014-05-11 16:08:35)

Hors ligne

 

#12 2014-05-13 15:46:16 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

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

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Bonjour,

Comme la construction n'évolue pas dans le temps, je pense qu'il vaut mieux réaliser le fichier. Puis dans second temps le lire et l'interpréter.

Processing peut lire les fichiers .txt, je le fait déjà dans le code proposé :

input = createInput("data" + compteur + ".txt");

Avec l'objet InputStream que l'on peut lire caractère par caractère.
http://www.processing.org/reference/createInput_.html

Ensuite il faut affecter un son et une couleur à chaque caractère.

Hors ligne

 

#13 2014-05-13 19:20:28 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

zalicks
membre
Date d'inscription: 2014-04-29
Messages: 15

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Merci beaucoup je vais me pencher la dessus !

Hors ligne

 

#14 2014-05-22 13:20:31 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

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

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



Bonjour,

Comme tu as eu le malheur de t'égarer du côté de PureData, voici le code pour lire un fichier texte avec création d'une note et d'une couleur.
J'ai stocké les fréquences des notes dans un tableau ainsi que les couleurs. Comme cela le caractère lu, qui correspond à un chiffre, donnera aussitôt la note et la couleur voulue.

import ddf.minim.*;
import ddf.minim.ugens.*;

Minim minim;
AudioOutput sortieSon;
Oscil onde;
InputStream input;

int[] frequence = {
  110, 220, 330, 440, 550, 660, 770, 770, 880, 990
};
color[] couleur = { 
  color(255), color(255, 255, 0), color(255, 0, 0), color(0, 0, 255), color(255, 127, 0), 
  color(127, 0, 255), color(0, 255, 0), color(127), color(127), color(0)
};
int indice;

void setup() {
  size(200, 200);
  minim = new Minim(this);
  sortieSon = minim.getLineOut();
  onde = new Oscil(0, 0.5f, Waves.TRIANGLE);
  onde.patch(sortieSon);
  frameRate(5);
  indice = 0;
  input = createInput("data13.txt");
}

void draw() {
  background(couleur[indice]);
  onde.setFrequency(frequence[indice]);
  try {
    indice = input.read() - 48;
  }  
  catch (IOException e) {
    e.printStackTrace();
  }
}

Ci-joint le fichier texte lu à placer dans le répertoire data du sketch :

Dernière modification par Mushussu (2014-05-22 13:21:30)

Hors ligne

 

#15 2014-05-22 15:21:03 Re : Help de la part d'un codeur pour codage d'un "random" arborescent ^^

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

Re: Help de la part d'un codeur pour codage d'un "random" arborescent ^^



citation :

Comme tu as eu le malheur de t'égarer du côté de PureData...

Oh mon Dieu ! yikes

roll


L'Amour au Peuple !

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024