Proyecto 2° Trimestre: Teselación

De Casiopea
Proyecto 2° Trimestre: Teselación


TítuloProyecto 2° Trimestre: Teselación
Tipo de ProyectoProyecto de Taller
Período2012-
AsignaturaTaller Inicial 1ª y 2ª Etapa,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Juan Francisco Rojas
ProfesorHerbert Spencer
  • El proyecto de fin de trimestre consiste en hacer una teselación de un plano euclideo.
  • El proyecto se crea en una primera instancia en la página Escher Web Sketch, mostrada en clases por el profesor, para luego dar paso a un código en processing.

import processing.pdf.*;

void setup() {
  size(400, 400, PDF, "Teselación.pdf"); // tamaño como multiplo de 40
  background(255, 0, 0);
}

void draw() {
  for (int x1=-80; x1<width; x1=x1+80) {
    for (int x2=0; x2<width; x2=x2+80) {
      for (int y=0; y<width; y=y+240) {

        pushMatrix(); // no sé para que sirve pero hace que quede bien
        translate(x1, y);
        figura();
        translate(x2+40, 40);
        rotate(PI/2);
        figura2();
        popMatrix();
      }
    }
  }
  for (int x3=-40; x3<width; x3=x3+80) {
    for (int x4=-40; x4<width; x4=x4+80) {
      for (int y2=-120; y2<width; y2=y2+240) {

        pushMatrix(); // no sé para que sirve pero hace que quede bien
        translate(x3, y2);
        figura();
        translate(x4+80, 40);
        rotate(PI/2);
        figura2();
        popMatrix();
      }
    }
  }
  println("Listo. Ctrl+K para ver el pdf");
  exit();
}

void figura() {
  beginShape();
  vertex(40, 0);
  vertex(80, 0);
  vertex(120, 40);
  vertex(80, 40);
  vertex(80, 80);
  vertex(40, 80);
  vertex(0, 40);
  vertex(40, 40);
  endShape(CLOSE);
}

void figura2() { // figura reflejada en x
  beginShape();
  vertex(0, 40);
  vertex(40, 0);
  vertex(80, 0);
  vertex(80, 40);
  vertex(120, 40);
  vertex(80, 80);
  vertex(40, 80);
  vertex(40, 40);
  endShape(CLOSE);
}