Annonce

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


#1 2017-12-10 20:04:49 ArrayindexOutofBound help !

Obra
nouveau membre
Date d'inscription: 2017-11-21
Messages: 7

ArrayindexOutofBound help !



Voici le code en question j'essaye de faire en sorte que mon CSV soit responsable de l'elélevation merci d'avance

import processing.dxf.*;
import processing.opengl.*;
import toxi.geom.*;
import toxi.geom.mesh.*;
import toxi.processing.*;

boolean saveDXF = false;
int DIM=20;
int DIM2=20;
float NOISE_SCALE=0.15;
String [] CSV_File ;
String co,effort;
float pays;
ArrayList mesValeurs;
TriangleMesh mesh;
ToxiclibsSupport gfx;

void setup() {
  size(800, 800, OPENGL);
  Terrain terrain = new Terrain(DIM, DIM2,20);
  // populate elevation data
mesValeurs = new ArrayList();
CSV_File =loadStrings("data/tableur_salvateur.csv");

for(int i=0; i<400; i++){
CSV_File = split(CSV_File[i], ';');
float v = float(CSV_File[1]);
//float v = random(100);
println(CSV_File[1]);
mesValeurs.add(v);
//float taille= map(v, 122, 3053,400, 800);

}

  float[] el = new float[DIM*DIM2];
for(int z = 0, i=0; z<DIM; z++){
   for(int x= 0; x<DIM2; x++){
float  v = (float) mesValeurs.get(i);
  el[i++] = v;   






// for(int i=0; i< data.length; i++){

// println(fields[1]);
// for (int z = int(fields[1]),e = 0; z < DIM; z++) {
   // for (int x= int(fields[2]); x < DIM; x++) {
    // el[e++] = noise(x * NOISE_SCALE, z * NOISE_SCALE) * 100;
    // el[e++] =
//}
  //}
}


//float x= float(fields[0]);
//float y= float(fields[1]);

  noiseSeed(2);

  terrain.setElevation(el);
  // create mesh
  mesh = new TriangleMesh();
  terrain.toMesh(mesh,-10);
  // attach drawing utils
  gfx = new ToxiclibsSupport(this);
}
}
void draw() {
{
  if ( saveDXF == true ) {
    beginRaw( DXF, "files/myCubes.dxf" );
}

  background(0);
  lights();
  translate(width/2,height/2,0);
  rotateX(mouseY*0.01);
  rotateY(mouseX*0.01);
  noStroke();
  gfx.mesh(mesh);
}

if ( saveDXF == true ) {
  endRaw();
  saveDXF = false;
}
}
void keyPressed()
{
  if ( key == 's' ) {
  saveDXF = true;
}

}

Hors ligne

 

#2 2017-12-10 20:06:04 Re : ArrayindexOutofBound help !

Obra
nouveau membre
Date d'inscription: 2017-11-21
Messages: 7

Re: ArrayindexOutofBound help !



le CSV joint au projet

Hors ligne

 

#3 2017-12-10 20:20:05 Re : ArrayindexOutofBound help !

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

Re: ArrayindexOutofBound help !



Bonsoir,

Ton erreur était de remettre l'extraction d'une ligne dans la variable qui contient toutes le lignes.

  for (int i = 0; i < CSV_File.length; i++) {
    String[] ligne = split(CSV_File[i], ';');
    float v = float(ligne[1]);
    //float v = random(100);
    println(ligne[1]);
    mesValeurs.add(v);
    //float taille= map(v, 122, 3053,400, 800);
  }

De plus, quand tu parcours un fichier, il vaut mieux mettre la taille du tableau qui contient les lignes plutôt qu'un nombre.

Bon courage pour la suite. N'hésite pas à refaire un tour par icic si tu as des questions.

Hors ligne

 

#4 2017-12-10 23:08:33 Re : ArrayindexOutofBound help !

Obra
nouveau membre
Date d'inscription: 2017-11-21
Messages: 7

Re: ArrayindexOutofBound help !



Merci de votre réponse !

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2018