domingo, 24 de enero de 2016

notación gráfica

Notación gráfica para música de Eduardo Partida
la idea es hacer un teléfono descompuesto, así se le dice al proceso de compartir el mismo mensaje y ver el resultado de su edición por cada elemento en el proceso comunicativo.
El audio es una composición electroacústica


Después de intentar identificar y darle un símbolo a cada sonido me di cuenta que sería mejor si lo dejara todo en blanco y negro pues me parece demasiado complejo el manejo del a forma y del color en este caso. La siguiente prueba sera en blanco y negro..

Este tipo de trabajo ha sido realizado por varias personas como Mark Applebaum y Ligeti




fernando gomez de llano sobre sinestesia

miércoles, 20 de enero de 2016

coleccionismo

La idea de este proyecto es realizar un programa intuitivo mediante el cual genere en el usuario una reflexión sobre el movimiento en su recorrido en el espacio y con los elementos otorgados para explorar.
Este trabajo es para una publicación sobre coleccionismo y es probable que sea publicada por Operación Hormiga
Estoy realizando este programita por medio de processing 3.0. La aplicación  debe funcionar de la siguiente manera: se otorgan varios elementos y la posibilidad de arratrarlos en la pantalla hasta llegar a un punto en el espacio donde los elementos se convierte en inmóviles y los elementos desaparecen para mostrar solo el recorrido marcado por el movimiento del puntero.
La programación es bastante sencilla pero forma parte de la pieza de alguna manera


DragMe[] drags = new DragMe[15];

 PGraphics topLayer;
 PGraphics toperLayer;

 color backgr;

void setup() {
  size(500, 500);
  for (int i = 0; i < drags.length; i++) {
    drags[i]  = new DragMe();
  }
  topLayer = createGraphics(width, height, g.getClass().getName());

}
void draw() {
  
  background(backgr);

  {  
    topLayer.beginDraw();
    topLayer.noFill();
    topLayer.stroke(0 ); 
    if (mousePressed ==true) {
      topLayer.line( pmouseX, pmouseY, mouseX, mouseY );
      topLayer.endDraw();  }
    image( topLayer, 0, 0 );
  }

  for (int i = 0; i < drags.length; i++) {
    drags[i].display();
    drags[i].update();}
  
  for (int i = 0; i < drags.length; i++) {
    drags[i].fondo();}

{
ellipse(width/2.5, height/2.5,110, 110);
fill(255);}
}

void mousePressed() {
  for (int i = 0; i < drags.length; i++) {
    if (!drags[i].isOver())
      drags[i].dontMove = true;
    drags[i].offset_x = mouseX - drags[i].pos_x;
    drags[i].offset_y = mouseY - drags[i].pos_y;
  }
}

void mouseReleased() {
  for (int i = 0; i < drags.length; i++) {
    drags[i].locked = false;
    drags[i].dontMove = false;
  }
}

class DragMe {
  float pos_x, pos_y, SIZE = 25;
  float prev_x, prev_y;
  boolean locked;
  boolean dontMove;
  boolean todo;
  color c = color (255);
  float offset_x, offset_y;

  DragMe() {
    pos_x = random(width-SIZE);
    pos_y = random(height-SIZE);
   
  }

  void update() {
    if (isOver() && !locked && !dontMove || locked && !dontMove )
      c = color (255);
    else
      c = color (255);

    if (isClicked()) {
      locked = true;
    }
    
    if(isIn()){ 
      locked = false;
      todo = true;
    }
      
    if (locked && !dontMove) {

      pos_x =  mouseX - offset_x;
      pos_y =  mouseY - offset_y;
    }
  

}



  void display() {
    fill(c);
    ellipse(pos_x, pos_y, SIZE, SIZE);
    ellipseMode(CORNER);
    noStroke();

  }

  boolean isOver() {
    float right_x = pos_x + SIZE;
    float bottom_y = pos_y + SIZE;
    return mouseX >= pos_x && mouseX <= right_x &&
      mouseY >= pos_y && mouseY <= bottom_y;
  }

  boolean isClicked() {
    return isOver() && mousePressed && !dontMove;
  }
  boolean isIn() {
     float right_x = pos_x + SIZE;
    float bottom_y = pos_y + SIZE;
    return right_x >= width/2.5 + SIZE && right_x <= width/2.5 + 100 &&
    bottom_y >= height/2.5 + SIZE  && bottom_y <= height/2.5  + 100; 
  }

void fondo(){
if (todo == true)
backgr= 255;}
}