Proyecto final: Teselación por vector

De Casiopea
Proyecto final imagen escrita. Teselación



TítuloProyecto final imagen escrita. Teselación
Tipo de ProyectoProyecto de Curso
Palabras Claveproyecto final
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Mauro Herrera
ProfesorHerbert Spencer
  • El objetivo del proyecto es crear una teselación a partir de un vector para posteriormente llevarla a la cortadora laser y generar un stencil.
  • Se propone generar un stencil que construya tanto por la pintura como por el vacio de la misma, creando una "suerte de imagen y sombra". CONSTRUCCIÓN CON EL VACIO
  • Se genera un bitman a través de EscherWebSketch que es guardado y posteriormente vectorizado a través a Adobe Illustrator.
  • El vector generado es importado por medio de processing y teselado sobre la trama que entrega el profesor (la trama es editada también).
  • Processing se encarga de repetir este vector e ir generando la teselación que se busca.
  • Se genera un pdf.

DESCARGA DE ARCHIVOS (con tamaño 952x950 para que queden justos los cortes): Medio:Mauro Herrera proyecto final.rar

PDF en formato 1000X1000 como se pidio: Medio:Proyecto FinaMavroHerrera.pdf


import processing.pdf.*;

PShape s;
float Xspacer;    // espaciador horizontal
float Yspacer;         // espaciador vertical (altura del triángulo equilátero de lado Xspacer)
float margen = -118;    // margen, comienza justo en un vector vertical que crea el corte que llevará al vacio
float tam = 2;         // tamaño de los puntos o elementos


void setup() {
  // calculo Yspacer por Pitágotas:
  Yspacer = sqrt( pow(Xspacer, 2) - pow(Xspacer/2, 2));
  s = loadShape("teselacionloca2.svg");
  size(952, 950, PDF, "Proyecto_Final.pdf");  // se edita el tamaño para que calce el vector que generará el vacio y corte donde se debe
  noStroke();
  fill(0);
  smooth();
}

void draw() {
  background(255);
  
  float initX;      // inicio en X, que varía par-impar
  int rowCount = 0; // contador de filas
  int par;          // par es 0, impar 1

  for (float y = 0; y < height-margen; y+= s.height) {
    rowCount ++;    // cuento las filas
    par = rowCount % 2; // genero el número par (0 ó 1)
    if ( par == 0) {
      initX = margen ; //se cambia fila
    }
    else {
      initX = margen; // se igualan ambas filas para que resulte con mi teselación
    }
    for (float x = initX; x < width - margen; x += s.width) {
      shape(s, x, y,s.width,s.height); 
    }
  }


  println("PDF HECHO. Presione Ctrl+k para ver el pdf");
  exit();

}