Proyecto IE 2012, teselacion
Título | proyecto final |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | proyecto final |
Período | 2012-2012 |
Asignatura | Imagen Escrita 2012, |
Del Curso | Imagen Escrita 2012, |
Carreras | Diseñ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 |
Profesor | Herbert Spencer |
Archivo: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();
}