วันพุธที่ 3 กรกฎาคม พ.ศ. 2556

My Music

Guitar

ในการวาดรูปนี้ ผมใช้คำสั่ง void setup ในการกำหนดพื่้นที่ด้วยคำสั่ง size() และสร้าง background ก่อน ต่อมาจึงกำหนดตัวแปรที่จะใช้ แทนตัวเลขที่ต้องการ แล้วใช้คำสั่ง void draw เพื่อวาดนักดนตรี กีตาร์ และแขนของนักกีตาร์ ตามลำดับ ผมใช้วงกลมและเส้นในการวาดนักดนตรี ใช้สี่เหลี่ยม เส้นและวงกลมทำกีตาร์ และเส้น 2 เส้นทำแขน ยังคงมีการตกแต่งสีโดยใช้คำสั่ง fill() โดยใช้เครื่องหมาย # ตามเดิม แต่สามารถกำหนดค่าตามแม่สีได้ ในการแทนค่าตัวเลขด้วยสมการ บางครั้งผมนำตัวแปรบวกกับตัวเลขที่ต้องทำให้มีค่าตามที่ต้องการไว้ด้วย เพื่อให้สังเกตได้ง่ายขึ้น ผมจึงแยกแต่ละชุดว่า วาดเป็นรูปอะไร โดยใช้เครื่องหมาย // แล้วตามด้วยชื่อ หรื่อสิ่งที่จะเขียน สำหรับภาพนี้เป็นเพียงภาพนิ่ง ยังไม่มีการเคลื่อนไหว ขอเชิญทุกคนลองมาทำกันดูนะครับ เพราะมันไม่ยากเท่าไร

Processing Code

void setup() {
  size(300, 300);
  background(0, 255, 240); //ใช้แม่สีสามสีผสมกันเป็นสีที่ต้องการ
}
int a = 10;
int b = 20;
int c = 40;
int d = 50;
int e = 100;
int f = 200; //int คือจำนวนเต็ม แต่ถ้าใช้ float จะต้องเป็นทศนิยม
void draw() {
  //draw the musician
  fill(#F5B62F); //คำสั่งชุดนี้ใช้ในการเติมสี โดยดูได้จาก Color Selector
  ellipse(e+50, d, d+30, d+30); //จุดที่หนึ่งและสองคือตำแหน่งตามแกน X และ Y จุดที่สามและสี่คือความกว้างและความสูง ตามลำดับ
  fill(#001BFF);                          
  ellipse(e+50, b+5, d+20, c); //ในการแทนค่าด้วยตัวแปร บางจุดต้องมีการบวกหรือลบด้วยตัวเลข
  fill(#FFFFFF);              
  ellipse(e+33, d+5, b+5, a+5); //ellipse(X, Y, width, height)
  ellipse(e+68, d+5, b+5, a+5);
  fill(#030303);
  ellipse(e+34, d+6, a, a);
  ellipse(e+66, d+6, a, a);
  fill(#FF0004);
  ellipse(e+50, d+26, c, b);
  line(e+50, d+40, e+50, f+30); //line(X1, Y1, X2, Y2)
  line(f+30, f+90, e+50, f+30);
  line(d+20, f+90, e+50, f+30);

  //draw the guitar
  fill(#342403);
  rect(e, e+30, d, d+10); //จุดที่หนึ่งและสองคือตำแหน่งตามแกน X และ Y ส่วนจุดที่สามและสี่คือความกว้างและความยาว ตามลำดับ
  rect(e, e+30, b+10, d+10); //rect(X, Y, width, height)
  fill(#2E2001);
  rect(e+60, e+45, d+30, b+10);
  fill(#050505);
  rect(f+40, e+40, b+10, c);
  fill(#583E07);
  rect(f+40, e+40, b, c);
  fill(#765408);
  ellipse(d+40, e+60, d+30, d+30);
  fill(#E5AB2C);
  ellipse(d+40, e+60, d+15, d+15);
  fill(#715310);
  ellipse(e+60, e+60, d+5, d+15);
  fill(#FFBF34);
  ellipse(e+60, e+60, b+15, b+25);
  fill(#050505);
  ellipse(d+48, e+60, c+5, b+5);
  line(d+15, e+60, f+70, e+60); //จุดทั้งหมดนี้คือพิกัดตามแกน X1, Y1, X2 และ Y2 ตามลำดับ
  line(d+15, e+50, f+70, e+50);
  line(d+15, e+70, f+70, e+70);
  line(d+15, e+65, f+70, e+65);
  line(d+15, e+55, f+70, e+55);
  line(d+15, e+45, f+70, e+45);
  line(d+15, e+75, f+70, e+75);
  fill(#050505);
  rect(d+10, e+40, a, c);

  //draw the musician's arms
  line(f+30, e+80, e+50,e+20);
  line(e+50, e+20, d, e+80); //เพื่อให้มองเห็นแขนด้านหน้าของกีตาร์
}

Canvas


ไม่มีความคิดเห็น:

แสดงความคิดเห็น