Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Ornament Version II – Random Linesystem

9. November 2010

ornament_linien_einfach Das generierte Ornament besteht aus einem einfachen Random-Pattern , dass wenn 10x10 aneinandergefügt wird, dieses Bild generiert: Durch ein aneinanderreihen dieses Bildes zu einem grösseren Ornament entsteht dieses Bild: Code:

import processing.pdf.*;
void setup()
{
 
 //size(600,600,PDF,"ornament_linien_einfach.pdf");      // def. fenstergroesse
  size (600,600);
  smooth();           // aktiviere antialiasing
  strokeWeight(45);    // linienbreite
  frameRate(1);
}

void draw()
{
  background(255);    // def. hintergrundfarbe

  for(int x = 0; x <= width; x+=60)
  { 
    for(int y = 0; y <= height; y+=60)
    {
      
      
      //debug
     
      //debug ende
      
      pushMatrix();
        translate(x,y);
        scale(0.1);
        ornament();          // funtions aufruf
      popMatrix();
    }
  }

// exit();
}


// funktion
void ornament()
{
  noFill();
  int R1x = (width*1/3);
  int R1y = (height*0/3);
  int R2x = (width*3/3);
  int R2y = (height*2/3);
  int R3x = (width*1/3);
  int R3y = (height*3/3);
  int R4x = (width*0/3);
  int R4y = (height*2/3);
  
  int B1x = (width*2/3);
  int B1y = (height*0/3);
  int B2x = (width*3/3);
  int B2y = (height*1/3);
  int B3x = (width*2/3);
  int B3y = (height*3/3);
  int B4x = (width*0/3);
  int B4y = (height*1/3);
  
  int R1choose = int (random(2,4)+0.5); // auswahl zu welchem roten Punkt
  int B1choose = int (random(2,4)+0.5); // auswahl zu welchem blauen Punkt
  int RorBfirst = int (random(0,1)+0.5); // welche linie zuerstgezeichnet wird, rot oder blau


  
  
  if (RorBfirst==0) {
    stroke(255,0,0); //redlines
    switch (R1choose) { // Wenn R1 gewählt hat linien zeichnen
      case 2:
        line (R1x,R1y,R2x,R2y);
        line (R3x,R3y,R4x,R4y); 
        break;
      case 3:
        line (R1x,R1y,R3x,R3y);
        line (R2x,R2y,R4x,R4y);
        break;
      case 4:
        line (R1x,R1y,R4x,R4y);
        line (R2x,R2y,R3x,R3y);
        break;
    }
    
    stroke(0,0,255); //bluelines
    switch (B1choose) { // Wenn B1 gewählt hat linien zeichnen
      case 2:
        line (B1x,B1y,B2x,B2y);
        line (B3x,B3y,B4x,B4y); 
        break;
      case 3:
        line (B1x,B1y,B3x,B3y);
        line (B2x,B2y,B4x,B4y);
        break;
      case 4:
        line (B1x,B1y,B4x,B4y);
        line (B2x,B2y,B3x,B3y);
        break;
    }
  }
  else {
    stroke(0,0,255); //bluelines
    switch (B1choose) { // Wenn B1 gewählt hat linien zeichnen
      case 2:
        line (B1x,B1y,B2x,B2y);
        line (B3x,B3y,B4x,B4y); 
        break;
      case 3:
        line (B1x,B1y,B3x,B3y);
        line (B2x,B2y,B4x,B4y);
        break;
      case 4:
        line (B1x,B1y,B4x,B4y);
        line (B2x,B2y,B3x,B3y);
        break;
    }
    stroke(255,0,0); //redlines
    switch (R1choose) { // Wenn R1 gewählt hat linien zeichnen
      case 2:
        line (R1x,R1y,R2x,R2y);
        line (R3x,R3y,R4x,R4y); 
        break;
      case 3:
        line (R1x,R1y,R3x,R3y);
        line (R2x,R2y,R4x,R4y);
        break;
      case 4:
        line (R1x,R1y,R4x,R4y);
        line (R2x,R2y,R3x,R3y);
        break;
    } 
  }

    
  
  //debug
 //  println(R1choose);
  //debug end
 
}