Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // based upon:
- // P_2_1_3_03.pde
- //
- // Generative Gestaltung, ISBN: 978-3-87439-759-9
- // First Edition, Hermann Schmidt, Mainz, 2009
- // Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni
- // Copyright 2009 Hartmut Bohnacker, Benedikt Gross, Julia Laub, Claudius Lazzeroni
- //
- // http://www.generative-gestaltung.de
- float tileCountX = 3;
- float tileCountY = 3;
- int count = 0;
- float theta;
- void setup() {
- size(400, 400);
- }
- void draw() {
- rectMode(CENTER);
- stroke(0,200);
- background(255);
- count = (int) map(sin(theta), -1, 1, 10, 15);
- float para = map(sin(theta), -1, 1, 0.1, 0.3);
- for (int gridY=0; gridY<= tileCountY; gridY++) {
- for (int gridX=0; gridX<= tileCountX; gridX++) {
- float tileWidth = width / tileCountX;
- float tileHeight = height / tileCountY;
- float posX = tileWidth*gridX + tileWidth/2;
- float posY = tileHeight*gridY + tileHeight/2;
- pushMatrix();
- translate(posX, posY);
- for (float i=0; i<=count; i++) {
- line(para*tileWidth, para*tileHeight, tileWidth/2, (i/count-0.5)*tileHeight);
- line(para*tileWidth, para*tileHeight, -tileWidth/2, (i/count-0.5)*tileHeight);
- line(para*tileWidth, para*tileHeight, (i/count-0.5)*tileWidth, tileHeight/2);
- line(para*tileWidth, para*tileHeight, (i/count-0.5)*tileWidth, -tileHeight/2);
- }
- popMatrix();
- }
- }
- theta += 0.0523*2;
- if (frameCount%4==0 && frameCount<61) saveFrame("image-####.gif");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement