import java.applet.*; 
import java.awt.*; 
import java.awt.image.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*; 
import java.text.*; 
import java.util.*; 
import java.util.zip.*; 

public class udk_01_ecepala_2flower3d extends BApplet {
// UdK Computational design
// Ece Pala
// ece's flower


 int r = (int)(random(255)+10); 
 int g = (int)(random(255)); 
 int b = (int)(random(255)); 
float cnt;

void setup() {

  size(600,600);
  background(0,g-100,b-120);
  lights();
  noStroke();
  lights();
  cnt=0;
}

void loop() {


  float rotX=((float)(mouseY)/height)*TWO_PI;
  float rotY=((float)(mouseX)/width)*TWO_PI;
  translate(width/2, height/2, 50);
  
cnt+=PI/360.0f;
  rotateX(rotX+cnt*2);
  rotateY(rotY);
  
  noStroke();
  fill(255,200,0);
  rotateX(radians(10)+rotX);
  rotateY(rotY);
    
  translate(100,0,0);

   translate(0,0,-50);
   for(int i=0; i<14; i++) {
   rotate(radians(3.6f));
        rotateY(100);
        rotateZ(30);
            fill(0, 153, 51);
    ellipseMode(CORNER);
    ellipse(0, 0, 40, 35);
    }
    
  for(int i=0; i<14; i++) {
    rotate(radians(3.6f));
    fill(r, g, b);
   rotateY(100);
        rotateZ(30);
    ellipseMode(CENTER_DIAMETER);
    ellipse(40, 40, 100, 45);
    }

   translate(0,0,20);
   for(int i=0; i<14; i++) {
   rotate(radians(3.6f));
   rotateY(100);
    fill(r+50, g+50, b+50);
    rotateZ(30);
    ellipseMode(CENTER_DIAMETER);
    ellipse(40, 40, 80, 45);
   
}

   translate(0,0,20);
   for(int i=0; i<14; i++) {
   rotate(radians(3.6f));
        rotateY(100);
        rotateZ(30);
            fill(r+70, g+70, b+70);
    ellipseMode(CENTER_DIAMETER);
    ellipse(40, 40, 20, 55);
    }
  
  translate(0,0,0);
  fill(255,255,0);
  sphere(40);

  
rotateX(-0.7f);
rotateZ(15);
translate(0, 0, -140); 
fill(0,153,102);
box(5, 5, 300); 


  
   for(int i=74; i<110; i++) {
   rotate(radians(310.6f));
    translate(0,0,i-90);
    fill(0, 204+i, 51);
ellipseMode(CENTER_DIAMETER);
ellipse(-40, 0, 80, 35);
  
}

  
}

}
