Bárbara Valdivia paisaje recorrido
De Casiopea
Archivo:PaisajeRecorridoPDF.pdf
Título | Paisaje recorrido |
---|---|
Tipo de Proyecto | Proyecto de Taller, Proyecto de Curso |
Palabras Clave | tarea 8 |
Período | 2012- |
Asignatura | Taller Inicial 1ª y 2ª Etapa, |
Del Curso | Imagen Escrita 2012, |
Carreras | Arquitectura |
Alumno(s) | Bárbara Valdivia |
Profesor | Herbert Spencer |
/* Imagen Escrita 2012: Construcción de un trazo (algoritmo pictórico de la luz y el color) en base del proyecto generado por el profesor Herbert. Se recorre la imágen mediante un trazo (pincel). */ import processing.pdf.*; PImage Tulips; // la foto: el encuadre, la escena, el paisaje PFont font; // la fuente tipográfica String[] code; // el texto del código float margenIzquierda = 30; float margenArriba = 30; float margenDerecha = 30; float margenAbajo = 30; float escala; void setup() { Tulips = loadImage("Tulips.jpg"); // se carga la imagen, se "construye" el objeto PImage Tulips size(609, 765, PDF, "Paisaje.pdf"); // tamaño carta // cálculos para escalar desde la imagen hacia el pincel float ancho = width - (margenIzquierda + margenDerecha); escala = ancho/(float)Tulips.width; noStroke(); noLoop(); background(255); font = createFont("Tahoma", 8); // construyo la tipografía a partir de una fuente de sistema Tahoma textFont(font, 8); code = loadStrings("trazo.pde"); // cargo el código "trazo" (el pincel) } void draw() { float spacer = 12; // muestreo regular desde la foto, esto se puede modificar.... for (int y = 30; y < Tulips.height; y += spacer) { for (int x = 25; x < Tulips.width; x += spacer) { // obtengo el color float plotX = map(x, 0, Tulips.width, margenIzquierda, width-margenDerecha); float plotY = map(y, 0, Tulips.height, margenArriba, margenArriba + (Tulips.height * escala)); color c = Tulips.get(x, y); trazo(plotX, plotY, c, spacer); } } printCode(); println("PDF ready !"); exit(); } void printCode() { float interlinea = 0; for (int i = 0; i < code.length; i++) { // escribo cada línea de código en la pantalla text(code[i], width/4, 2 * margenArriba + Tulips.height * escala + interlinea); interlinea += 15; } } /*************************************** trazo ****************************************/ /* Pincel de tempera de lado */ void trazo (float x, float y, color c, float random ) { fill(c); ellipse(x, y, map(brightness(c), 12, 200, random, 0), map(brightness(c), 300, 255, random, 0)); }