วันจันทร์ที่ 25 สิงหาคม พ.ศ. 2557

Lab 2 : Task#5 - draw() is called without setup() [Order]



int c;
int c_change,c_range,c_range_low,c_range_high,c_mean;
int count=0;
float px,py;

void setup()
{
  c_range_low=0;
  c_range_high=255;
  c_range=c_range_high-c_range_low;
  c_mean=(c_range_low+c_range_high)/2;
  c=c_mean;
  size(500,500);
  frameRate(60);
  py=height-30;
  noStroke();
}

void draw()
{
  background(255-c);
  for(int i=0; i<520; i=i+20)
  {
    draw_circle_py(i,py);
    draw_circle_py(i,py-50);
    draw_circle_py(i,py-100);
    draw_circle_py(i,py-150);
    draw_circle_py(i,py-200);
    draw_circle_py(i,py-250);
    draw_circle_py(i,py-300);
    draw_circle_py(i,py-350);
    draw_circle_py(i,py-400);
    draw_circle_py(i,py-450);
    draw_circle_py(i,py-500);
   
    draw_circle_px(i,py);
    draw_circle_px(i,py-50);
    draw_circle_px(i,py-100);
    draw_circle_px(i,py-150);
    draw_circle_px(i,py-200);
    draw_circle_px(i,py-250);
    draw_circle_px(i,py-300);
    draw_circle_px(i,py-350);
    draw_circle_px(i,py-400);
    draw_circle_px(i,py-450);
    draw_circle_px(i,py-500);
  }
  py=py+1;
  if(py>=height+20){py=height-30;}
  if(count<c_range){change_colour_P();}
  if(count>=c_range){change_colour_N();}
  if(count<c_range*2){count=count+c_change;}
  if(count>=c_range*2){count=0;}
}

void draw_circle_py(int px,float py)
{
  float w,h;
  float r;
  r=15; //set radius
  c_change=10; //set colour change per frame
  w=r*2;
  h=r*2;
  fill(c);
  ellipse(px,py,w,h);
}

void draw_circle_px(int py,float px)
{
  float w,h;
  float r;
  r=15; //set radius
  c_change=10; //set colour change per frame
  w=r*2;
  h=r*2;
  fill(c);
  ellipse(px,py,w,h);
}

void change_colour_P()
{
c=c+c_change;
if(c>c_range_high){c=c_range_high;}
}

void change_colour_N()
{
c=c-c_change;
if(c<c_range_low){c=c_range_low;}
}

Lab 2 : Task#4 - draw() is called after setup() [Disorder]



int c;
int c_change,c_range,c_range_low,c_range_high,c_mean;
int count=0;

void setup()
{
  c_range_low=55;
  c_range_high=200;
  c_range=c_range_high-c_range_low;
  c_mean=(c_range_low+c_range_high)/2;
  c=c_mean;
  size(500,500);
  background(c_mean);
  frameRate(60);
}

void draw()
{
  for(int i=0; i<width*height/5000; i=i+1){draw_circle();}
  if(count<c_range){change_colour_P();}
  if(count>=c_range){change_colour_N();}
  if(count<c_range*2){count=count+c_change;}
  if(count>=c_range*2){count=0;}
}

void draw_circle()
{
  float px,py,w,h;
  float r;
  r=20; //set radius
  c_change=50; //set colour change per frame
  w=r*2;
  h=r*2;
  fill(c,50);
  px=random(0,width);
  py=random(0,height);
  ellipse(px,py,w,h);
}

void change_colour_P()
{
c=c+c_change;
if(c>c_range_high){c=c_range_high;}
}

void change_colour_N()
{
c=c-c_change;
if(c<c_range_low){c=c_range_low;}
}

Lab 2 - Task#3 : Bicycle


int s=400;

void setup() {
  size(400, 400);
}
void draw() {
  stroke(150);
  strokeWeight(1);
  background(206,229,241);

  for (int i=0; i<width; i=i+10) {
    line(0, i, width, i);
  }
  for (int i=0; i<height; i=i+10) {
    line(i, 0, i, height);
  }
  //floor
  fill(0);
  if(frameCount>=20)
  {if(frameCount<=40){for(int i=0-10;i<=s;i=i+30){rect(i,300,10,100);}}}
  if(frameCount>=40)
  {for(int i=0-20;i<=s;i=i+30){rect(i,300,10,100);}}
  if(frameCount<=20)
  {for(int i=0-30;i<=s;i=i+30){rect(i,300,10,100);}}
  fill(220,0,0);
  if(frameCount>=20)
  {if(frameCount<=40){for(int i=0-20;i<=s;i=i+30){rect(i,300,10,100);}}}
  if(frameCount>=40)
  {for(int i=0-30;i<=s;i=i+30){rect(i,300,10,100);}}
  if(frameCount<=20)
  {for(int i=0-10;i<=s;i=i+30){rect(i,300,10,100);}}
  fill(130,0,0);
  if(frameCount>=20)
  {if(frameCount<=40){for(int i=0-30;i<=s;i=i+30){rect(i,300,10,100);}}}
  if(frameCount>=40)
  {for(int i=0-10;i<=s;i=i+30){rect(i,300,10,100);}}
  if(frameCount<=20)
  {for(int i=0-20;i<=s;i=i+30){rect(i,300,10,100);}}
  if(frameCount==60){frameCount=0;}
  draw_bike(200, 200);
}
void draw_bike(int x, int y) {

  translate(x-100, y+50);
  for (int i=0; i<=8; i=i+1) {
    noFill();

    stroke(255);
    strokeWeight(2);
    rotate (45);
    line(-50, 0, 50, 0);
    stroke(0);
    strokeWeight(10);
    ellipse(0, 0, 100, 100);
  }
  rotate (-405);
  translate(x, 0);
  for (int i=0; i<=8; i=i+1) {
    noFill();

    strokeWeight(2);
    stroke(255);
    line(-50, 0, 50, 0);
    rotate (45);
    strokeWeight(10);
    stroke(0);

    ellipse(0, 0, 100, 100);
  }
  rotate (-405);          //Body
  translate(-x/2, -y/4);
  stroke(255,0,0);
  strokeWeight(10);
  line(-100, 50, -50, -50);
  line(-25, -50, -50, -50);
  line(-60, -25, 50, -25);
  line(-60, -25, 0, 50);
  line(100, 50, 50, -25);
  line(100, 50, 0, 50);
  line(55, -35, 0, 50);
  line(70, -40, 40, -40);
 
}

Lab 2 : Task#2 - Turtle


int s=300;

void setup()
{
  size(s+1,s+1);
  background(206,229,241);
}

void draw()
{
  int px,py;
  px=s/2;
  py=s/3*2;
  background(206,229,241);
  noStroke();
  if(frameCount>30){draw_turtle_a(px,py);}
  else{draw_turtle_b(px,py+10);}
  if(frameCount==60){frameCount=0;}

  //floor
  fill(0);
  if(frameCount>=20)
  {if(frameCount<=40){for(int i=s-10;i>=0;i=i-30){rect(i,py+80,10,20);}}}
  if(frameCount>=40)
  {for(int i=s-20;i>=0;i=i-30){rect(i,py+80,10,20);}}
  if(frameCount<=20)
  {for(int i=s-30;i>=0;i=i-30){rect(i,py+80,10,20);}}
  fill(87,191,111);
  if(frameCount>=20)
  {if(frameCount<=40){for(int i=s-20;i>=0;i=i-30){rect(i,py+80,10,20);}}}
  if(frameCount>=40)
  {for(int i=s-30;i>=0;i=i-30){rect(i,py+80,10,20);}}
  if(frameCount<=20)
  {for(int i=s-10;i>=0;i=i-30){rect(i,py+80,10,20);}}
  fill(130,220,150);
  if(frameCount>=20)
  {if(frameCount<=40){for(int i=s-30;i>=0;i=i-30){rect(i,py+80,10,20);}}}
  if(frameCount>=40)
  {for(int i=s-10;i>=0;i=i-30){rect(i,py+80,10,20);}}
  if(frameCount<=20)
  {for(int i=s-20;i>=0;i=i-30){rect(i,py+80,10,20);}}

  //grid
  stroke(219);
  for(int i=0; i<s; i=i+10)
  {
    line(0,i,s,i);
    line(i,0,i,s);
  }
}

void draw_turtle_a(int px,int py)
  {
    //black
    fill(0);
    rect(px+20,py-190,20,10);
    rect(px+10,py-180,40,20);
    rect(px+0,py-160,60,10);
    rect(px-10,py-150,70,10);
    rect(px-20,py-140,80,40);
    rect(px-10,py-110,80,60);
    rect(px-60,py-100,30,10);
    rect(px-70,py-90,50,90);
    rect(px-80,py-80,70,100);
    rect(px-90,py-60,130,60);
    rect(px+40,py-50,20,10);
    rect(px+40,py-40,10,20);
    rect(px-10,py+0,40,10);
    rect(px-10,py+10,30,10);
    rect(px-90,py+20,110,10);
    rect(px-90,py+30,100,10);
    rect(px-80,py+40,100,10);
    rect(px-70,py+50,90,10);
    rect(px-60,py+60,70,10);
    rect(px-50,py+70,40,10);
 
    //Light_orange
    fill(243,215,175);
    rect(px+0,py-150,10,10);
    rect(px-10,py-140,20,40);
    rect(px+10,py-130,10,20);
    rect(px+0,py-110,60,30);
    fill(0);
    rect(px+40,py-100,10,10);
    fill(243,215,175);
    rect(px+10,py-80,10,30);
    rect(px+30,py-80,30,10);
    rect(px+40,py-70,20,20);
    rect(px+40,py-70,10,30);
    rect(px+20,py-60,10,60);
    rect(px+30,py-30,10,10);
    rect(px-10,py+40,20,20);
    rect(px-20,py+50,10,20);
    rect(px-60,py+50,30,10);
    rect(px-50,py+60,20,10);
 
    //white
    fill(255);
    rect(px+20,py-180,20,70);
    rect(px+40,py-160,10,10);
    rect(px+40,py-120,10,10);
    rect(px+30,py-110,10,10);
    rect(px-10,py-80,10,30);
    rect(px+0,py-50,10,70);
    rect(px-10,py+0,10,30);
    rect(px-80,py+20,80,10);
    rect(px-80,py+30,70,10);
 
    //green
    fill(87,191,111);
    rect(px-60,py-90,30,10);
    rect(px-50,py-80,10,10);
    rect(px-70,py-80,10,30);
    rect(px-30,py-80,10,30);
    rect(px-70,py-70,20,10);
    rect(px-40,py-70,20,10);
    rect(px-80,py-60,10,20);
    rect(px-20,py-50,10,10);
    rect(px-50,py-60,10,50);
    rect(px-70,py-40,50,10);
    rect(px-60,py-50,30,30);
    rect(px-80,py-30,10,30);
    rect(px-70,py-20,10,30);
    rect(px-60,py-10,10,10);
    rect(px-50,py+0,10,10);
    rect(px-40,py-10,10,10);
    rect(px-30,py-20,10,30);
    rect(px-20,py-30,10,30);
  }

void draw_turtle_b(int px,int py)
  {
    //black
    fill(0);
    rect(px+20,py-190,20,10);
    rect(px+10,py-180,40,20);
    rect(px+0,py-160,60,10);
    rect(px-10,py-150,70,10);
    rect(px-20,py-140,80,40);
    rect(px-10,py-110,80,60);
    rect(px-60,py-100,30,10);
    rect(px-70,py-90,50,90);
    rect(px-80,py-80,70,100);
    rect(px-90,py-60,130,60);
    rect(px+40,py-50,20,10);
    rect(px+40,py-40,10,20);
    rect(px-10,py+0,40,10);
    rect(px-10,py+10,30,10);
    rect(px-90,py+20,110,10);
    rect(px-90,py+30,100,10);
    rect(px-80,py+40,120,10);
    rect(px+10,py+30,20,10);
    rect(px-90,py+50,60,10);
    rect(px-90,py+60,50,10);
    rect(px-20,py+50,70,10);
    rect(px-10,py+60,60,10);
 
    //Light_orange
    fill(243,215,175);
    rect(px+0,py-150,10,10);
    rect(px-10,py-140,20,40);
    rect(px+10,py-130,10,20);
    rect(px+0,py-110,60,30);
    fill(0);
    rect(px+40,py-100,10,10);
    fill(243,215,175);
    rect(px+10,py-80,10,30);
    rect(px+30,py-80,30,10);
    rect(px+40,py-70,20,20);
    rect(px+40,py-70,10,30);
    rect(px+20,py-60,10,60);
    rect(px+30,py-30,10,10);
    rect(px+10,py+30,10,10);
    rect(px-10,py+40,40,10);
    rect(px-10,py+50,50,10);
    rect(px-80,py+50,40,10);
 
    //white
    fill(255);
    rect(px+20,py-180,20,70);
    rect(px+40,py-160,10,10);
    rect(px+40,py-120,10,10);
    rect(px+30,py-110,10,10);
    rect(px-10,py-80,10,30);
    rect(px+0,py-50,10,70);
    rect(px-10,py+0,10,30);
    rect(px-80,py+20,80,10);
    rect(px-80,py+30,70,10);
 
    //green
    fill(87,191,111);
    rect(px-60,py-90,30,10);
    rect(px-50,py-80,10,10);
    rect(px-70,py-80,10,30);
    rect(px-30,py-80,10,30);
    rect(px-70,py-70,20,10);
    rect(px-40,py-70,20,10);
    rect(px-80,py-60,10,20);
    rect(px-20,py-50,10,10);
    rect(px-50,py-60,10,50);
    rect(px-70,py-40,50,10);
    rect(px-60,py-50,30,30);
    rect(px-80,py-30,10,30);
    rect(px-70,py-20,10,30);
    rect(px-60,py-10,10,10);
    rect(px-50,py+0,10,10);
    rect(px-40,py-10,10,10);
    rect(px-30,py-20,10,30);
    rect(px-20,py-30,10,30);
  }

Lab 2 - Task#1.5[Special] : Pen or Pencil [Pencils..s...s....s, a lot of PENCILS!!!] [Zoom out Ver.]



void setup()
{
  size(100,1000);
  background(255);
  frameRate(60);
}

void draw()
{
  float px,py;
  float w,h,space;
  background(255);
  noStroke();
  h=5;
  px=-1;
  py=h/2;
  space=h;
  for(int i=0;i<height/h;i=i+1)
  {
    w=(width/2)+width/6*sin(radians((frameCount+i*5)*2))-h/2;
    draw_pencil(px,py+i*h,w,h);
  }
}

void draw_pencil(float px,float py,float w,float h)
{
  float a,b,c;
  a=sqrt((3*(pow(h,2)))/4);
  fill(250,180,0);
  strokeWeight(3);
  rect(px,py-(h/2),w,h/4);
  rect(px,py+(h/4),w,h/4);
  fill(255,200,0);
  rect(px,py-(h/4),w,h/2);
  fill(255,230,180);
  triangle(px+w,py-h/2,px+w+a,py,px+w,py+h/2);
  fill(0);
  triangle(px+w+(a/2),py-(h/4),px+w+a,py,px+w+(a/2),py+(h/4));
}

Lab 2 - Task#1 : Pen or Pencil [Pencils..s...s....s, a lot of PENCILS!!!]


void setup()
{
  size(500,3000);
  background(255);
  frameRate(60);
}

void draw()
{
  float px,py;
  float w,h,space;
  background(255);
  noStroke();
  h=30;
  px=-1;
  py=h/2;
  space=h;
  for(int i=0;i<height/h;i=i+1)
  {
    w=(width/2)+width/6*sin(radians((frameCount+i*5)*2))-h/2;
    draw_pencil(px,py+i*h,w,h);
  }
}

void draw_pencil(float px,float py,float w,float h)
{
  float a,b,c;
  a=sqrt((3*(pow(h,2)))/4);
  fill(250,180,0);
  strokeWeight(3);
  rect(px,py-(h/2),w,h/4);
  rect(px,py+(h/4),w,h/4);
  fill(255,200,0);
  rect(px,py-(h/4),w,h/2);
  fill(255,230,180);
  triangle(px+w,py-h/2,px+w+a,py,px+w,py+h/2);
  fill(0);
  triangle(px+w+(a/2),py-(h/4),px+w+a,py,px+w+(a/2),py+(h/4));
}