Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

2306 Mensajes en 1173 Temas- por 424 Usuarios - Último usuario: Alcestis

Septiembre 07, 2010, 15:40 h.
.: visualp5.net :. la comunidad de processing en castellanoprocessingcuestiones generales ayuda con este sketch
Páginas: [1]
Imprimir
Autor Tema: ayuda con este sketch  (Leído 122 veces)
namtes
Jr. Member
**
Mensajes: 41


Anywhere is not your place.

daniel_iturrizaga@hotmail.com namtes
Ver Perfil Email
« en: Julio 06, 2010, 23:58 h. »

Hola

Alguien me puede ayudar con este sketch? Lo que quiero es que los cubos que forman la palabra tenga el mismo movimiento que los cubos que se mueven.

Gracias

// imports ================================================
 int a;
float valor=1;
// import processing.video.*;
//MovieMaker mm;

float rota;
atom[] atoms;
int ATOMS=355;
float R=300.0;
 float aumenta = 0.0;
 
/** PeasyCam **/
import peasy.*;
 
// variables =============================================
 
// Camera
PeasyCam cam;
 
int bufferSize = 1256;
int bufferWritePosition = 0;
String[] buffer = new String[bufferSize];
 
float factorBetweenBoxes = 3;
int factorBetweenLetters = 30;
float angle = 0.0;
float angleAdd = 0.009;
 
// letterSpacing: use -6 for 'W' to put more space after the W
int letterSpacing = 0;
 
// functions =============================================
 
void setup () {
 
  size (800,500, P3D);
  cam = new PeasyCam(this, 400.0 );
  cam.pan(70,400);
  noSmooth();
  fill(color(254,0,0));
  stroke(color(25,25,0));

  reset();

}
 
 ///////////////////
 
 void reset() {
    atoms=new atom[ATOMS];
    for (int i=0;i<ATOMS;i++) {
      atoms=new atom();
    }
    //background(255);
   
 
}

//////////////////
void draw () {
  background(111);
  //rotateY(angle);
 WordPaint("hola");
  angle += angleAdd;
///////////////////////////

  translate (width/2,height/2,-100);
 
  rotateX(HALF_PI);
  //aumenta= aumenta+ .001;
 
  rotateY((float)frameCount/100.0);

  R=250.0+(200.0*(float)Math.cos(frameCount/100.0));


  /////////////////////////////////
  for (int i=0;i<ATOMS;i++) {
    atoms.mueve();
    atoms.draw();
 
}

}
/*
void keyPressed() {
  if (key == CODED) {
    if (keyCode == UP) {
      factorBetweenBoxes-=1;
    }
    else if (keyCode == DOWN) {
      factorBetweenBoxes+=1;
    }
    if (keyCode == LEFT) {
      factorBetweenLetters-=1;
    }
    else if (keyCode == RIGHT) {
      factorBetweenLetters+=1;
    }   
  }
  else {
    // not coded
    if (key == ' ') {
      if (angleAdd==0.0) {
        angleAdd=0.009;
      }
      else {
        angleAdd=0.0;
      };
    } // SPACE
    else if (key == 'm') {
      angleAdd=0.009;
    }
  } // else not coded
} // func
 
 */
void WordPaint(String InputWordOfFunction) {

 
  final int BoxWidth=3;
  letterSpacing=0;
  for (int i = 0; i < InputWordOfFunction.length(); i = i+1) {
    buffer = new String[bufferSize];
    bufferWritePosition=0;
    letterSpacing=0;
    keyPaintHelper(InputWordOfFunction.charAt(i));
    for (int  j = 0; j < bufferWritePosition; j = j+1) {
      for (int  k = 0; k < buffer[j].length(); k = k+1) {
        if (buffer[j].charAt(k) == '*') {
          pushMatrix();
        //  factorBetweenBoxes=factorBetweenBoxes;
          translate((j*factorBetweenBoxes)+(i*factorBetweenLetters)-10+letterSpacing,
          300-(k*factorBetweenBoxes)+100,
          200);
          // rotateY(0.3); //  ;-)
          box (BoxWidth,BoxWidth,BoxWidth+BoxWidth+BoxWidth);
          popMatrix();
        }
      }
    }
  }
}
 
void keyPaintHelper(char InputKeyOfFunction) {
  char k = Character.toUpperCase(InputKeyOfFunction);
  letterSpacing=0;
  switch(k) {
  case 'A':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "    *****   ";
      buffer[bufferWritePosition + 1] = "  ********  ";
      buffer[bufferWritePosition + 2] = " ***    ***";
      buffer[bufferWritePosition + 3] = " ***    ***";
      buffer[bufferWritePosition + 4] = " **********";
      buffer[bufferWritePosition + 5] = " **********";
      buffer[bufferWritePosition + 6] = " ***    ***";
      bufferWritePosition += 7;
    }
    break;
  case 'B':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " *  *  * ";
      buffer[bufferWritePosition + 3] = " *  *  * ";
      buffer[bufferWritePosition + 4] = " ******* ";
      buffer[bufferWritePosition + 5] = "  ** **  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'C':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "  *****  ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " *     * ";
      buffer[bufferWritePosition + 3] = " *     * ";
      buffer[bufferWritePosition + 4] = " *     * ";
      buffer[bufferWritePosition + 5] = "  *   *  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'D':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " *     * ";
      buffer[bufferWritePosition + 3] = " **   ** ";
      buffer[bufferWritePosition + 4] = "  *****  ";
      buffer[bufferWritePosition + 5] = "   ***   ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'E':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " *  *  * ";
      buffer[bufferWritePosition + 3] = " *  *  * ";
      buffer[bufferWritePosition + 4] = " *  *  * ";
      buffer[bufferWritePosition + 5] = " *     * ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'F':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "    *  * ";
      buffer[bufferWritePosition + 3] = "    *  * ";
      buffer[bufferWritePosition + 4] = "    *  * ";
      buffer[bufferWritePosition + 5] = "       * ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'G':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "  *****  ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " ** *  * ";
      buffer[bufferWritePosition + 3] = " ** *  * ";
      buffer[bufferWritePosition + 4] = " **** ** ";
      buffer[bufferWritePosition + 5] = " **** *  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'H':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "    *    ";
      buffer[bufferWritePosition + 3] = "    *    ";
      buffer[bufferWritePosition + 4] = " ******* ";
      buffer[bufferWritePosition + 5] = " ******* ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'I':
    if (thereAreEnoughSlots(6)) {
      buffer[bufferWritePosition + 0] = "         ";
      buffer[bufferWritePosition + 1] = " *     * ";
      buffer[bufferWritePosition + 2] = " ******* ";
      buffer[bufferWritePosition + 3] = " ******* ";
      buffer[bufferWritePosition + 4] = " *     * ";
      buffer[bufferWritePosition + 5] = "         ";
      bufferWritePosition += 6;
    }
    break;
  case 'J':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "  **     ";
      buffer[bufferWritePosition + 1] = " ***     ";
      buffer[bufferWritePosition + 2] = " *     * ";
      buffer[bufferWritePosition + 3] = " ******* ";
      buffer[bufferWritePosition + 4] = "  ****** ";
      buffer[bufferWritePosition + 5] = "       * ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'K':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "   ***   ";
      buffer[bufferWritePosition + 3] = "  ** **  ";
      buffer[bufferWritePosition + 4] = " **   ** ";
      buffer[bufferWritePosition + 5] = " *     * ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'L':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " *       ";
      buffer[bufferWritePosition + 3] = " *       ";
      buffer[bufferWritePosition + 4] = " *       ";
      buffer[bufferWritePosition + 5] = " *       ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'M':
    if (thereAreEnoughSlots(9)) {
      buffer[bufferWritePosition + 0] = " ******  ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "    **** ";
      buffer[bufferWritePosition + 3] = "  ****   ";
      buffer[bufferWritePosition + 4] = "  ****   ";
      buffer[bufferWritePosition + 5] = "    **** ";
      buffer[bufferWritePosition + 6] = " ******* ";
      buffer[bufferWritePosition + 7] = " ******  ";
      buffer[bufferWritePosition + 8] = "         ";
      bufferWritePosition += 9;
    }
    break;
  case 'N':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "    **   ";
      buffer[bufferWritePosition + 3] = "   **    ";
      buffer[bufferWritePosition + 4] = " ******* ";
      buffer[bufferWritePosition + 5] = " ******* ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'O':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "  *****  ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " *     * ";
      buffer[bufferWritePosition + 3] = " *     * ";
      buffer[bufferWritePosition + 4] = " ******* ";
      buffer[bufferWritePosition + 5] = "  *****  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'P':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "    *  * ";
      buffer[bufferWritePosition + 3] = "    *  * ";
      buffer[bufferWritePosition + 4] = "    **** ";
      buffer[bufferWritePosition + 5] = "     **  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'Q':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "  *****  ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = " **    * ";
      buffer[bufferWritePosition + 3] = " **    * ";
      buffer[bufferWritePosition + 4] = "******** ";
      buffer[bufferWritePosition + 5] = "* *****  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'R':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = " ******* ";
      buffer[bufferWritePosition + 1] = " ******* ";
      buffer[bufferWritePosition + 2] = "   **  * ";
      buffer[bufferWritePosition + 3] = "  ***  * ";
      buffer[bufferWritePosition + 4] = " ** **** ";
      buffer[bufferWritePosition + 5] = " *   **  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  case 'S':
    if (thereAreEnoughSlots(7)) {
      buffer[bufferWritePosition + 0] = "  ** **  ";
      buffer[bufferWritePosition + 1] = " ** **** ";
      buffer[bufferWritePosition + 2] = " *  *  * ";
      buffer[bufferWritePosition + 3] = " *  *  * ";
      buffer[bufferWritePosition + 4] = " **** ** ";
      buffer[bufferWritePosition + 5] = "  ** **  ";
      buffer[bufferWritePosition + 6] = "         ";
      bufferWritePosition += 7;
    }
    break;
  default:

  }
}
 
boolean thereAreEnoughSlots(int slotsRequired) {
  /*
  if((bufferSize - bufferWritePosition) <= slotsRequired + 4) {
   return false;
   }
   else return true;
   */
  return true;
}


class atom {
  public float lat,lon;
  private float dlat,dlon;
  private color col;
  private float velo=1/200.0;

float factorBetweenBoxes ;

  public atom() {
    lat=random (-TWO_PI,TWO_PI);
    lon=random(0,PI);
    dlat=random(-PI,TWO_PI)*velo;
    dlon=random(0,TWO_PI)*velo;
    col=color(random(0,255),random(0,255),random(0,255));
  }
   
  public atom(float _lat,float _lon) {
    lat=_lat;
    lon=_lon;
    dlat=random(0,PI)*velo;
    dlon=random(0,TWO_PI)*velo;
    col=color(random(0,255),random(0,255),random(0,255));
  }
   
  public void mueve(){

    lat+=velo*noise(dlat*0.005+frameCount,dlon*0.005+frameCount);
    lon+=velo*noise(dlat*0.6+frameCount,dlon*0.006+frameCount);
  }
   
  public void draw() {
    //noStroke();
    stroke(0,140);
    //color(255);
    //noFill ();
    float x=R*( cos(lat*valor)*cos(lon*valor));
    float y=R*(cos(lat)*sin(lon));
    float z=R*sin(lat*noise (valor));
  // factorBetweenBoxes = x;
    valor = valor+.00001;
    //println (valor);
    if (valor >= 5){
      valor = valor*-1;
    }
 
    pushMatrix();
   
 
    translate(x,y,z);
     
  //noStroke ();
  // stroke (0,46);
   fill(#F70FD1);
rotateZ (TWO_PI+ rota);
rotateY (TWO_PI+ rota);
rotateX (TWO_PI+ rota);
rota = rota + .0001;
    box(40,10,20);
 
      popMatrix();

 
pushMatrix ();
   translate(x,-y,z);
   rotateX (TWO_PI- rota/10);
   rotateY (TWO_PI- rota);
  // fill(#2C21CE);
 // box (40,10,20);
  //text("information", x, 60);
popMatrix ();
}



}

En línea

The gosip broke her arm and I happy today!
Páginas: [1]
Imprimir
Ir a: