(Mehrere Formen)
(Mehrere Formen)
Line 2: Line 2:
 
== Mehrere Formen ==
 
== Mehrere Formen ==
  
<source lang="Java">float seg = 0; //Segmentzähler
+
<source lang="Java">float seg = 0;  
  
 
void setup() {
 
void setup() {
   size(600, 600);
+
   size(800, 800);
 
   smooth();
 
   smooth();
   noStroke();
+
   frameRate(5);
 
}
 
}
  
 
void draw() {
 
void draw() {
 
   background(0);
 
   background(0);
   for (float i=0; i<=400; i+=200) {
+
   for (int i = 0; i<=360; i++) {
     maleSegmente(100,100+i,100);
+
     maleSegmente(300,400,400,90+i);
    maleSegmente(100,100+i,300);
 
    maleSegmente(100,100+i,500);
 
 
   }
 
   }
 
}
 
}
  
void maleSegmente(int r,float x,float y) {
+
void maleSegmente(int r,float x,float y, float grad) {  
 
   float segmente = 0;
 
   float segmente = 0;
 
   segmente = 3 + seg;
 
   segmente = 3 + seg;
Line 27: Line 25:
 
   vertex(x, y);  
 
   vertex(x, y);  
 
   for (float angle=0; angle<=360; angle+=angleStep) {
 
   for (float angle=0; angle<=360; angle+=angleStep) {
     float vx = x + cos(radians(angle-90))*r;
+
     float vx = x + cos(radians(angle-grad))*r;
     float vy = y + sin(radians(angle-90))*r;
+
     float vy = y + sin(radians(angle-grad))*r;
 
     vertex(vx, vy);
 
     vertex(vx, vy);
 +
    vertex(x,y);
 +
    vertex(vx,vy);
 
   }
 
   }
   vertex(x + cos(radians(270))*r, y + sin(radians(270))*r);
+
   vertex(x + cos(radians(360-grad))*r, y + sin(radians(360-grad))*r);
 
   endShape();
 
   endShape();
 
}
 
}
  
void keyPressed() {
+
void keyReleased() {
 
   if (key == CODED) {
 
   if (key == CODED) {
 
     if (keyCode == UP) {
 
     if (keyCode == UP) {

Revision as of 21:49, 14 January 2011

Mehrere Formen

float seg = 0; 

void setup() {
  size(800, 800);
  smooth();
  frameRate(5);
}

void draw() {
  background(0);
  for (int i = 0; i<=360; i++) {
    maleSegmente(300,400,400,90+i);
  }
}

void maleSegmente(int r,float x,float y, float grad) { 
  float segmente = 0;
  segmente = 3 + seg;
  float angleStep = 360/segmente;

  beginShape();
  vertex(x, y); 
  for (float angle=0; angle<=360; angle+=angleStep) {
    float vx = x + cos(radians(angle-grad))*r;
    float vy = y + sin(radians(angle-grad))*r;
    vertex(vx, vy);
    vertex(x,y);
    vertex(vx,vy);
  }
  vertex(x + cos(radians(360-grad))*r, y + sin(radians(360-grad))*r);
  endShape();
}

void keyReleased() {
  if (key == CODED) {
    if (keyCode == UP) {
      seg += 1;
    } else if (keyCode == DOWN) {
      if (seg >= 1) {
        seg -= 1;
      }
    } 
  }
}