Maximiliano Olea: Paisaje Puntillista Mejorado

De Casiopea
Maximiliano Olea: Paisaje Puntillista Mejorado


TítuloMaximiliano Olea: Paisaje Puntillista Mejorado
Tipo de ProyectoProyecto de Taller
Palabras Clavetarea 9
AsignaturaTaller Inicial 1ª y 2ª Etapa,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Maximiliano Olea
ProfesorHerbert Spencer

La idea de esta tarea es mejorar la anterior (tarea 8), la cual intentaba imitar un cuadro puntillista. Para la mejora se achicaron las ellipses, así como el espacio entre ellas para que pudiera imitar de manera más "natural" el trazo de un cuadro original

/*tab1*/

import processing.pdf.*;

PImage sunset; // la foto: el encuadre, la escena, el paisaje PFont font; // la fuente tipográfica String[] code; // el texto del código

/* Al exportar un PDF, Processing translada

las unidades de pixeles a puntos tipográficos.

1 pt = 0.0352778 cm
1 cm = 28.346438837 pt
*/

float margenIzquierda = 30; float margenArriba = 20; float margenDerecha = 20; float margenAbajo = 20; float escala;

void setup() {

 sunset = loadImage("sunset.jpg");   // se carga la imagen, se "construye" el objeto PImage ritoque
 size(609, 765, PDF, "Sol.pdf");  // tamaño carta
 // cálculos para escalar desde la imagen hacia el pincel
 float ancho = width - (margenIzquierda + margenDerecha);
 escala = ancho/(float)sunset.width;
 noStroke();
 noLoop(); 
 background(255);
 font = createFont("Courier", 8); // construyo la tipografía a partir de una fuente de sistema
 textFont(font, 8);
 code = loadStrings("trazo.pde"); // cargo el código "trazo" (el pincel)

}


void draw() {

 float spacer = random (10,20);
 // muestreo regular desde la foto, esto se puede modificar....
 for (int y = 0; y < sunset.height; y += spacer) {
   for (int x = 0; x < sunset.width; x += spacer) {
     // obtengo el color
     float plotX = map(x, 0, sunset.width, margenIzquierda, width-margenDerecha);
     float plotY = map(y, 0, sunset.height, margenArriba, margenArriba + (sunset.height * escala));
     color c = sunset.get(x, y);


     trazo(plotX, plotY, c, spacer);
   }
 }
 printCode();
 println("----->PDF done!");
 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 + sunset.height * escala + interlinea);
   interlinea += 15;
 }

}


/*Tab2*/ /*Trazo Puntillista*/

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


 fill(c,170);
   ellipse(x+random(3,5),y+random(1,3), random(2,3),random(2,3));
     /*se achican las elipses y el espacio entre ellas para que se asemejen 
   más a los puntos de un cuadro puntillista*/
 }