Diferencia entre revisiones de «Jaime Pérez Moena: Presentación al Lenguaje Abierto»

De Casiopea
Sin resumen de edición
Línea 2: Línea 2:
|Título=Presentación al Lenguaje Abierto, Cuarto Año
|Título=Presentación al Lenguaje Abierto, Cuarto Año
|Año de Inicio=2011
|Año de Inicio=2011
|Asignaturas Relacionadas=Presentación al lenguaje Abierto,
|Profesor=Herbert Spencer, Marcelo Araya,
|Profesor=Herbert Spencer, Marcelo Araya,
|Alumnos=Jaime Pérez Moena,
|Alumnos=Jaime Pérez Moena,

Revisión del 11:38 23 abr 2011




TítuloPresentación al Lenguaje Abierto, Cuarto Año
Período2011-
AsignaturaPresentación al lenguaje Abierto,
Alumno(s)Jaime Pérez Moena
ProfesorHerbert Spencer, Marcelo Araya

Investigación del Net Art

Gustavo Romano

CyberZoo, Proyecto Web, 2003

Kurt Hentschläger

RANGE, Immersive Audiovisual Installation, 2008

Santiago Ortiz

Love is Patient , Santiago Ortiz, 2009. Obra interactiva. Fotografía de Kelly Castro


Creación de un autorretrato desde Processing

Variación del Código para construir un pincel

A partir del código "Paisaje" que nos entrega Herbert, desde Processing, se realiza una variación de éste para generar un nuevo pincel. Con una imagen pequeña de 500 x 178 píxeles, el código toma la información del color y lo transforma en trazos con una dirección y sentido en particular. Esta imagen, al estar en sentido horizontal, ayudaba a una mejor previsualización de lo que se obtendría a partir del código, antes de ser exportado al PDF. El resultado, son grupos de trazos inscritos en superficies cuadradas. Ver Pdf. Luego el archivo es impreso a un tamaño real.

Previsualización de la Lámina

Código generador de la Imagen

<no wiki>
import processing.pdf.*;
PImage paisaje;

float margenIzquierda = 85; 
float margenArriba    = 85;
float margenDerecha   = 85;

float escala;
boolean pinta;
int x, y;

void setup() {
  paisaje = loadImage("jaime.jpg"); 
  size(1100, 500); 
  smooth();
  beginRecord(PDF, "retrato"+day()+hour()+minute()+".pdf");

  float ancho = width - (margenIzquierda + margenDerecha);
  escala = ancho / (float)paisaje.width;
  strokeCap(SQUARE);
  background(255);
  x = y = 0;
  pinta = true;
}


void draw() {
  float spacer = 8;

  float plotX = map(x, 0, paisaje.width, margenIzquierda, width-margenDerecha);
  float plotY = map(y, 0, paisaje.height, margenArriba, margenArriba + (paisaje.height * escala));

  color c = paisaje.get(x,y);
  if(pinta) pincel(plotX, plotY, c, spacer);

  if (x < paisaje.width - spacer) {
    x+= spacer;
  }
  else if(y < paisaje.height) {
    x = 0; 
    y += spacer;
  }

  if (y > paisaje.height) {
    println("listo!");
    endRecord();
    pinta = false;
    
  }
}

void pincel(float x, float y, color c, float amp) {

  int achurados = (int)map(brightness(c), 100, 255, 100, 10);

  for (int i = 0; i < achurados; i++) {
    pushMatrix();
    {
      translate(x + random(-amp,amp), y + random (-amp,amp)); 
      rotate(hue(c)/100 * HALF_PI);
      strokeWeight((255 - brightness(c))/100 * amp/10);

      stroke(c, 100);
      noFill();
      float largo = brightness(c)/255 * amp;
      beginShape();
      vertex(-amp/30, 0);
      bezierVertex(-largo, -saturation(c)/55, amp/8, saturation(c)/55, largo, 0);
      endShape();
    }
    popMatrix();
  }
}
</no wiki>

--Jaime Perez Moena 10:44 2 abr 2011 (CLST)