Proyecto IE 2012, teselacion

De Casiopea

Archivo:Teseladoasdd.pdf

Títuloproyecto final
Tipo de ProyectoProyecto de Curso
Palabras Claveproyecto final
Período2012-2012
AsignaturaImagen Escrita 2012,
Del CursoImagen Escrita 2012,
CarrerasDiseño Gráfico"Diseño Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property., Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
Alumno(s)Claudio Gómez
ProfesorHerbert Spencer
PDFArchivo:Teseladoasdd.pdf

se planea diseñar un teselado, a través de su contraforma. En el stencil, lo que va a primar es el blanco de la forma que se quiso crear, lo que construye esa contraforma es una figura a la cual se le aplican distintas transformaciones isometricas, como rotaciones y traslaciones. esta figura se va repitiendo y genera una especie de "K" mayúscula distorsionada.


codigo 1: void setup() {

  background(255);
 size(400,400);
 noStroke();
 smooth();


 for (int i=0; i<6; i=i+1) {
   pushMatrix();
   for (int j=0; j<4; j=j+1) {
     fullsquare();
     translate(12,115);
   }
   popMatrix();
   translate(90,0);
   rotateY(-3);
 }

}

void tessellate() {

 strokeCap(35);
 stroke (255,255,255);{
 beginShape();
 vertex(0,0);
 vertex(0,46);
 vertex(30,34);
 bezier(23,55,43,46,57,127,23,23);
 vertex(20,54);
 vertex(40,50);
 bezier(23,10,124,46,34,123,23,54);
 vertex(23,67);
 bezier(123,53,23,54,23,14,52,23);
vertex (44,104);
 vertex(0,0);}
 endShape();}

void fullsquare() {

 pushMatrix();
 fill(0); 
 
 tessellate();
 rotate(PI/2);
 translate(2,2);
 rotate(PI);
 fill(0);
 tessellate();
 rotate(PI/1);
 rotate(PI/2);
 translate(0,30); 
 rotate(PI);
 translate(10,124);
 translate(0,34);
 fill(255);
 tessellate();
 rotate(PI/3);
 popMatrix(); 

}


codigo 2: float Xspacer = 45; float Yspacer; float margen = 120; float tam = 30;

void setup() {

 Yspacer = sqrt (pow(Xspacer, 2) - pow(Xspacer/2, 2));
  background(255);
 size(1000,1000);
 noStroke();
 smooth();


 float initX;
 int rowCount = 0;
 int par;
 for (float y= margen; y< height-margen; y+= Xspacer) {
   rowCount ++;
   par = rowCount % 2;
   if (par == 0) {
     initX = margen + Xspacer/2;
   }
   else {
     initX= margen;
   }
   pushMatrix();
   for (float x = initX; x < width - margen; x += Xspacer) {
     fullsquare();
     translate(12,115);
   }
   popMatrix();
   translate(70,0);

 }

}

void tessellate() {

 stroke (0);
 noFill();{
 beginShape();
 vertex(0,0);
 vertex(74,84);
 vertex(34,54);
 vertex(40,44);
 vertex(56,34);
vertex (44,34);
 vertex(0,0);}
 endShape();}

void fullsquare() { //this function puts four of the tessellate function together

 pushMatrix();
 noFill(); //different fills for different shapes
 stroke(255,255,255);
 tessellate();
 rotate(PI/4); 
 translate(3,2);
 rotate(PI);
 fill(0);
 tessellate();
 rotate(PI/1);
 rotate(PI/2);
 translate(0,30); //slides to top right
 rotate(PI/4);
 translate(10,100);
 translate(0,34);
 noFill();
 tessellate();
 rotate(PI/2);
 popMatrix(); //back to the top left

}


codigo final:


import processing.pdf.*;


float Xspacer = 45; float Yspacer ; float margen = 120; float tam = 20;

void setup() {

 Yspacer = sqrt (pow(Xspacer, 2) - pow(Xspacer/2,2));//teorema pitágoras
  background(255);
 size(1000,1000,PDF,"teselado.pdf");
 noStroke();
 smooth();


 float initX;
 int rowCount = 0;
 int par;
 for (float y= margen; y< height- margen; y+= Xspacer) {
   rowCount ++;
   par = rowCount % 2;
   if (par == 0) {
     initX = margen + Xspacer/2;
   }
   else {
     initX= margen;
   }
   pushMatrix();
   for (float x = margen; x < width - margen; x += Xspacer) {
     forma();
     translate(2,123);
   }
   popMatrix();
   translate(75,0);

 }

}

void tessellate() {//forma unida con vertices

 stroke (0);
 noFill();{
 beginShape();
 vertex(0,0);
 vertex(30,63);
 vertex(35,63);
 vertex(49,65);
 vertex(47,65);
 vertex(42,20);
 vertex(20,25);
 vertex(0,0);}
 endShape();}

void forma() { //se aplican transformaciones isométricas

 pushMatrix();
 tessellate();
 rotate(PI/4); 
 translate(3,5);
 rotate(PI);
 tessellate();
 rotate(PI/1);
 rotate(PI/2);
 translate(31,30); 
 rotate(PI/4);
 translate(48,56);
 translate(45,30);
 tessellate();
 translate(20,34);
 rotate(PI/2);
 popMatrix();
 println ("listo");
 exit();

}