Nicole Valdivia: Tarea 8

De Casiopea
Revisión del 11:49 21 jun 2012 de Nvaccardi (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Archivo:Puntaarenas.pdf


TítuloNicole Valdivia: Tarea 8, intento de pingüinos
Tipo de ProyectoProyecto de Taller
Palabras Clavetarea 8
Período2012-
AsignaturaImagen Escrita,
Del CursoImagen Escrita 2012
CarrerasArquitectura
Alumno(s)Nicole Valdivia Accardi
ProfesorHerbert Spencer

La imagen inicial eran dos pingüinos en el cesped. Los espacion sin circulos son los pingüinos.

import processing.pdf.*;

PImage puntaarenas;  
PFont font;      
String[] code;   
 
float margenIzquierda = 30; 
float margenArriba  = 20;
float margenDerecha = 20;
float margenAbajo   = 20;
float escala;

void setup() {

puntaarenas = loadImage("puntaarenas.jpg");  
  size(609, 765, PDF, "puntaarenas.pdf"); 

  float ancho = width - (margenIzquierda + margenDerecha);
  escala = ancho/(float)puntaarenas.width;

  noStroke();
  noLoop(); 
  background(255);

  font = createFont("tahoma", 8); 
  textFont(font, 8);

  code = loadStrings("trazo.pde"); 
}

void draw() {

  float spacer = 7; 
  int i = 1;
  boolean cir = true;
  
 
  for (int y = 0; y < puntaarenas.height; y += spacer) { 
    if (cir) { i = 0; } 
    for (int x = 0; x < puntaarenas.width; x += spacer) {

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

      trazo(plotX, plotY, c, spacer, i);
      
      if(i==1){i=0;}
      else {i=1;}
    }
    cir = cir == true ? false : true;
  }
  printCode();
  println("----->PDF done!");
  exit();
}

void printCode() {
  float interlinea = 2;
  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 + puntaarenas.height * escala + interlinea);
    interlinea += 15;
  }
}

/********************* TRAZO *******************/ 

void trazo(float x, float y, color c, float amp, int i) {
  fill(c);
    if(i == 1){
 
      rect(x-map(brightness(c), 0, 255, amp, 0)*sqrt(PI)/2*1/2*1/2, 
        y-map(brightness(c), 0, 255, amp, 0)*sqrt(PI)/2*1/2*1/2, 
        map(brightness(c), 0, 255, amp, 0)*sqrt(PI)/2*1/2, 
        map(brightness(c), 0, 255, amp, 0)*sqrt(PI)/2*1/2);
    } else {
      
      line(x, y, map(hue(c), 0, 255, amp, 0)*1/2, 
        map(hue(c), 0, 255, amp, 0)*1/2);
    }}