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

BINARY CALCULATION >>>



 boolean [] M = {false, true, true, false,false, false};  /*เทียบเหมือนกับ BINARY 011000*/
  boolean [] S = {true,  false, true, true, false, false};  /*เทียบเหมือนกับ BINARY 1011100*/
  boolean [] result = new boolean [M.length];  /*สร้างตัวแปร Array ชนิด boolean ขึ้นมาชื่อว่า result ไว้เก็บค่า M^S*/
  boolean [] translate = new boolean [M.length];  /*สร้างตัวแปร Array ชนิด boolean ขึ้นมาชื่อว่า translate ไว้เก็บค่าตัวที่พิจารณา*/
boolean [] MS = new boolean [M.length];  /*สร้างตัวแปร Array ชนิด boolean ขึ้นมาชื่อว่า MS ไว้เก็บค่าคำตอบ*/
  int i;  /*ประกาศตัวแปร i ขึ้นมาเป็นจำนวนเต็ม ซึ่งเป็นตัวแปรแบบ local variable*/
  boolean z = false;  /*สร้างตัวแปรชนิด boolean ที่ชื่อว่า z ให้มีค่าเป็นเท็จ*/
  int d = 46;  /*เส้นผ่านศูนย์กลางของวงกลมแต่ละอัน*/
  int x = d; /*ประกาศตัวแปร x  ขึ้นมาเป็นจำนวนเต็ม ให้มีค่าเท่ากับ d ( local variable)*/
  int y = 50;  /*ประกาศตัวแปร y ขึ้นมาเป็นจำนวนเต็ม ให้มีค่าเท่ากับ  50  ( local variable)*/

for(i = M.length-1; i >= 0; i--) {  /*ให้ค่าเริ่มต้นของ i = M.length-1 ตรวจสอบเงื่อนไขว่า i >= 0 หรือไม่ ทุกครั้งก่อนออกจาก loop i นำค่าที่เข้ามาลบไปทีละ 1*/
  result[i] = M[i]^S[i];  /*นำค่า M[i]^S[i] มาใส่ในตัวแปร result[i]*/
  if(M[i]&S[i] == true) {  /*M[i]&S[i] เป็น true หรือไม่*/
    if(i-1 >= 0) {  /*i-1 มากกว่าหรือเท่ากับ 0 หรือไม่*/
    translate[i-1] = false;  /*กำหนดให้ translate ตัวที่ i-1 มีค่าเป้น false*/
    } else z = true;  /*ให้ z = true*/
  }
  println(result[i]);
}


Max-Min-Avg

ทั้งนี้สรุปยอดอุบัติเหตุ ผู้บาดเจ็บและเสียชีวิต ช่วง 7วันอันตราย สงกรานต์ 2556 มีดังนี้
วันที่ 11 เมษายน 2556
- อุบัติเหตุ 326 ครั้ง
- บาดเจ็บ 342 ราย
- เสียชีวิต 39 ราย
วันที่ 12 เมษายน 2556
- อุบัติเหตุ 465 ครั้ง
- บาดเจ็บ 496 ราย
- เสียชีวิต 62 ราย
วันที่ 13 เมษายน 2556
- อุบัติเหตุ 655 ครั้ง
- บาดเจ็บ 688 ราย
- เสียชีวิต 72 ราย
วันที่ 14 เมษายน 2556
- อุบัติเหตุ 451 ครั้ง
- บาดเจ็บ 494 ราย
- เสียชีวิต 45 ราย
วันที่ 15 เมษายน 2556
- อุบัติเหตุ 393 ครั้ง
- บาดเจ็บ 419 ราย
- เสียชีวิต 37 ราย
วันที่ 16 เมษายน 2556
- อุบัติเหตุ 291 ครั้ง
- บาดเจ็บ 344 ราย
- เสียชีวิต 30 ราย

วันที่ 17 เมษายน 2556
- อุบัติเหตุ 247 ครั้ง
- บาดเจ็บ 257 ราย
- เสียชีวิต 36 ราย


int[] set = {
  326, 465, 655, 451, 393, 291, 247
};/*ประกาศ Array ที่มีชื่อ  datum เพื่อเก็บข้อมูลตัวเลขอุบัติเหตุในช่วงสงกรานต์*/
void setup()
{
  int min = set[0];/*ประกาศตัวแปรที่เป็นจำนวนเต็ม minเพื่อใช้ในการตรวจสอบค่าน้อยที่สุดใน Array*/
  int max = set[0];/*ประกาศตัวแปรที่เป็นจำนวนเต็ม max เพื่อใช้ในการตรวจสอบค่าน้อยที่สุดใน Array*/
  int c=0;/*ประกาศตัวแปรที่เป็นจำนวนเต็ม i โดยเริ่มนับจากช่องแรกใน Array*/
  float avg=0;/*ประกาศตัวแปรที่เป็นทศนิยม เพื่อใช้ในการหาค่าเฉลี่ยใน Array*/
  while (c<set.length)//ตรวจสอบว่าถ้าค่า c น้อยกว่าเท่ากับ ค่า datum จะทำตามเงื่อนไขต่อไป
  {
    if (set[c]<=min)/*ตรวจสอบว่าถ้าค่า c น้อยกว่าเท่ากับ ค่าmin จะทำตามเงื่อนไขต่อไป*/
    {
      min=set[c];//ตรวจสอบว่าถ้าค่า c เท่ากับ ค่าmin ค่าcจะเป็นค่า minimum
    }
    if (set[c]>=max)//ตรวจสอบว่าถ้าค่า c มากกว่าเท่ากับ ค่าmin จะทำตามเงื่อนไขต่อไป
    {
      max=set[c];//ตรวจสอบว่าถ้าค่า c เท่ากับ ค่าmin ค่าcจะเป็นค่า maximum
    }
      avg=avg+set[c];//นำค่า avg มาบวกกับค่า cจะได้เป็นค่าเฉลี่ย
      c=c+1;/*นำค่า cมาบวกเพิ่มทีละ 1  เพื่อวนกลับไปทำตามตามเงื่อนไขเรื่อยๆ*/
    }
  println("max "+max);//พิมพ์ค่า max ออกมา
  println("min " + min);//พิมพ์ค่า min ออกมา
  println("average " + avg/set.length);//พิมพ์ค่า avg ออกมา
}

SOME UFO >>>WAVE PINKACOLIC OFO



int x1 = 20; //กำหนดค่า x1

int x2 = 180; //กำหนดค่า x2
int y[] = {20, 70, 120, 170}; //กำหนด array ของตำแหน่ง y
int j = 0; //กำหนดรอบการวนลูปให้เริ่มที่ 0

void setup() {
  size(200, 200); //วาด canvas ขนาด 200x200
}
  void draw() {
  background(#FFCCFF); //กำหนดสีพื้นหลังให้เป็นสีชมพูอ่อน
  Saucer(); 
}

void Saucer() {
  while (j< y.length) { //วนloopหากค่า j น้อยกว่าความยาวของค่า y
    if (x1 >= 20 && x1 <= 190) { //ถ้าเงื่อนไขที่กำหนดเป็นจริงก็จะเข้ามาทำคำสั่งข้างในเงื่อนไข
      fill(#660066); //ใส่สีให้ส่วนกลมของจานบิน
      ellipse( y[j],x1,  25, 30); //วาดส่วนกลมของจานบิน
      fill(#FF99FF); //ใส่สีให้ส่วนของตัวจานบินใฟ้เป็นสีม่วงเข้ม
      ellipse(y[j],x1, 70, 15); //วาดส่วนรีของจานบิน
      x1 = x1+1; //บวกค่า x1 อีก 1
    }
    if (x1 > 180) { //ถ้าค่า x1 น้อยกว่า 180 จริง็จะเข้ามาทำคำสั่งข้างในเงื่อนไขนี้
      fill(#FF3399); //ใส่สีให้ส่วนกลมของจานบินให้เป็นชมพู
      ellipse(y[j],x2,  25, 30); //วาดส่วนกลมของจานบิน
      fill(#FF89D8); //ใส่สีให้ปีกจานบินให้เป็นสีชมพูอมม่วง
      ellipse(y[j],x2, 70, 15); //วาดส่วนปีกของจานบิน
      x2 = x2-1; //ลดค่า x2 อีก 1
    }
    if (x1 >= 180 && x2 <= 20) { //ถ้าเงื่อนไขที่กำหนดเป็นจริงก็จะเข้ามาทำคำสั่งข้างในเงื่อนไขนี้
      x1 = 20; //กำหนด x1 ให้เท่ากับ 20
      x2 = 180; //กำหนด x2 ให้เท่ากับ 20
    }
    j = j+1; //บวกค่า c ทีละ 1 ในการวนลูปรอบต่อไป 
  }
  if (j == y.length) { //สร้างเงื่อนไข ถ้าค่า j เท่ากับค่า y
    j = 0; //กำหนดให้ j มีค่าเท่ากับ 0
  }
}


BAR CHART



int x = 60; /*ประกาศตัวแปร xขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (local variable)*/
int y = 400;/*ประกาศตัวแปร yขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/
int j = 100;/*ประกาศตัวแปร jขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/
int i = 0;/*ประกาศตัวแปร iขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/
int p=150;/*ประกาศตัวแปร pขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/
int o =180;/*ประกาศตัวแปร oขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/
int  s=50;/*ประกาศตัวแปร sขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/
int t =220;/*ประกาศตัวแปร tขึ้นมาเป็นจำนวนทศนิยม โดยให้มีค่าเท่ากับ  (global variable)*/

float datum [] = {87.05, 0.88, 0.23, 0.26,0.1,4.33,0.29,0.13};//ประกาศค่าต่างๆที่เป็นทศนิยม ไว้ใน Array ที่ชื่อ datum

String USER[] = {"BANGKOK", "CHANGMAI", "CONBURURI", "KHONKHEN","KORAT","NONTHABUR","PATTAYA","SONGKHLA"};/*ประกาศค่าต่างๆ ที่เป็นตัวอักษรไว้ใน Array ที่ชื่อ datum*/

void setup() {
  size(500, 400);//กำหนดขนาดของ canvas ที่เป็น 500*400pixel
  background(#FFFAF0);//ใส่สีพื้นหลังโดยเติมสีครีม
  BarChart();
}

void BarChart() {
  while (i < datum.length) {//ตรวจสอบถ้าค่า i น้อยกว่าค่า datum ให้ทำตามเงื่อนไขดังนี้
    if (i == 0) fill(#90EE90);//หาก i = 1 ให้เติมสีเขียวอ่อน
    if (i == 1) fill(#FFB6C1);//หาก i = 1 ให้เติมสีแดงชมพูอ่อน
    if (i == 2) fill(#FFA07A);//หาก i = 2 ให้เติมสีส้มอ่อน
    if (i == 3) fill(#20B2AA);//หาก i = 3 ให้เติมสีฟ้าน้ำทะเล
    if (i == 4) fill(#87CEFA);//หาก i = 4 ให้เติมสีฟ้าอ่อน
    if (i == 5) fill(#778899);//หาก i = 5 ให้เติมสีเทา
    if (i == 6) fill(#DDA0DD);//หาก i = 6 ให้เติมสีม่วงอ่อน
    if (i == 7) fill(#FF69B4);//หาก i = 7 ให้เติมสีชมพู
    rect(x, 200-datum[i], 30, 50+datum[i]);//วาดสี่เหลื่อมผืนผ้าเพื่อเป็นกราฟแท่ง
    text(USER[i],  48, y-120);//กำหนดฟังก์ชัน text เพื่อใหสามารถพิมพ์ข้องความบน canvas
    rect(40, y-130, 6, 6);//วาดสี่เหลื่อมผืนผ้าเพื่อเป็นช่องกำหนดสีกราฟแต่ละแท่ง
    fill(#000000);//
    text(datum[i]+"%", x, 180-datum[i]);//เป็นการกำหนดชื่อจังหวัดกับกราฟแท่ง
    text("Bar chart :The most of Thai's Facebook user in Thailand",30,50);//พิมพ์ข้อความด้านบน canvas

    y = y+15;//บวกค่า y ทีละเพื่อระยะห่างของช่องกำหนดสีกราฟแต่ละแท่ง
    x = x+s;//ระยะห่างของบวกค่า x ทีละเพื่อระยะห่างของกราฟแท่ง
    i = i+1;//บวกค่าทีละ 1 เข้าเงื่อนไขด้านบน เพื่อให้loopไม่เป็น infinite loop
  }
}

BINARY DISPLAY >>> Supernova



void setup() {  //ประกาศสิ่งที่ต้องการให้คงที่ไม่มีการทำซ้ำ มีได้เพียง 1 ชุดในงานชิ้นหนึ่งเท่านั้น
  size(340, 100);  //กำหนดขนาดของภาพ หรือ Output ดูได้จาก size(width, height)
  background(#000000);  //ใช้ใส่สีให้กับพื้นหลังของภาพ ใส่นี่คือ สีฟ้าอมเขียวอ่อน
  boolean [] M = {false, true, true, false,false, false};  /*เทียบเหมือนกับ BINARY 011000*/
  boolean [] S = {true,  false, true, true, false, false};  /*เทียบเหมือนกับ BINARY 1011100*/
  boolean [] result = new boolean [M.length];  /*สร้างตัวแปร Array ชนิด boolean ขึ้นมาชื่อว่า result ไว้เก็บค่า M^S*/
  boolean [] translate = new boolean [M.length];  /*สร้างตัวแปร Array ชนิด boolean ขึ้นมาชื่อว่า translate ไว้เก็บค่าตัวที่พิจารณา*/
  boolean [] MS = new boolean [M.length];  /*สร้างตัวแปร Array ชนิด boolean ขึ้นมาชื่อว่า MS ไว้เก็บค่าคำตอบ*/
  int i;  /*ประกาศตัวแปร i ขึ้นมาเป็นจำนวนเต็ม ซึ่งเป็นตัวแปรแบบ local variable*/
  boolean z = false;  /*สร้างตัวแปรชนิด boolean ที่ชื่อว่า z ให้มีค่าเป็นเท็จ*/
  int d = 46;  /*เส้นผ่านศูนย์กลางของวงกลมแต่ละอัน*/
  int x = d; /*ประกาศตัวแปร x  ขึ้นมาเป็นจำนวนเต็ม ให้มีค่าเท่ากับ d ( local variable)*/
  int y = 50;  /*ประกาศตัวแปร y ขึ้นมาเป็นจำนวนเต็ม ให้มีค่าเท่ากับ  50  ( local variable)*/

for(i = M.length-1; i >= 0; i--) {  /*ให้ค่าเริ่มต้นของ i = M.length-1 ตรวจสอบเงื่อนไขว่า i >= 0 หรือไม่ ทุกครั้งก่อนออกจาก loop i นำค่าที่เข้ามาลบไปทีละ 1*/
  result[i] = M[i]^S[i];  /*นำค่า M[i]^S[i] มาใส่ในตัวแปร result[i]*/
  if(M[i]&S[i] == true) {  /*M[i]&S[i] เป็น true หรือไม่*/
    if(i-1 >= 0) {  /*i-1 มากกว่าหรือเท่ากับ 0 หรือไม่*/
    translate[i-1] = false;  /*กำหนดให้ translate ตัวที่ i-1 มีค่าเป้น false*/
    } else z = true;  /*ให้ z = true*/
  }
}

if(z == true) {  /*หาก F=true เติมสีเขียวม่วง*/
  fill(#6600FF );
  ellipse(x, y, d, d);  /*วาดวงกลมที่มีจุดกึ่งกลางที่ (x, y) และมีเส้นผ่านศูนย์กลางเป็น d เพื่อกำหนดขนาดวงกลม*/  
}

for(i = 0; M.length>i; i++) {  /*ให้ค่าเริ่มต้นของ i=0 ตรวจสอบเงื่อนไขว่า i น้อยกว่าความยาวของ T หรือไม่ ทุกครั้งก่อนออกจาก loop i บวกเพิ่มไปทีละ 1*/
  MS[i] = result[i]^translate[i];  /*กำหนดให้ result[i]^translate[i] มีค่าเป็น MS[i]*/
  if(MS[i] == true) {  /*หาก MS[i] = true ให้เติมสีเขียวอ่อน*/
  fill(#6600FF);
  } else{  /*หากไม่ใช่ ให้เติมสีน้ำเงินเข้ม*/
  fill(#000033);
}
  x+=d;  /* บวกค่า x เพิ่มทีละ d*/
  ellipse(x, y, d, d);  //วาดวงกลมที่มีจุดกึ่งกลางที่ (x, y) และมีเส้นผ่านศูนย์กลางเป็น d เพื่อกำหนดขนาดวงกลม
  }
}

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

MOBILE



void setup() {
  size(300, 300);//กำหนดของภาพให้เป็น 300*300 pixel
  background(#E6F657);//ใส่สีพื้นหลังเป็นสีเหลืองครีม
}

void draw() {
  int x = 50;//กำหนดค่าตัวแปรx ให้เป็นค่าเป็น 50 เพื่อนำไปแทนค่าในฟังก์ชัน
  int y = 120;//กำหนดค่าตัวแปรyให้เป็นค่าเป็น 50 เพื่อนำไปแทนค่าในฟังก์ชัน
  int count = 0;//กำหนดค่าตัวแปรcountให้เป็นค่าเป็น 50เพื่อนำไปแทนค่าในฟังก์ชัน
//moblie
  while (count<6) { //คำสั่งloop เป็นคำสั่ง ถ้าค่า count น้อยกว่า 6 ให้ทำตามคำสั่งด้านล่าง ทำเสร็จแล้วนำค่า count ขึ้นมาพิจารณาในเงื่อนไขลูปอีกครั้งถ้าเป็นจริงก็ทำอีก ทำจนกว่าค่า count มากกว่า 6 แต่ไม่เท่ากับ
//เชือกที่เชื่อระหว่างตัวยึดmoblieเข้ากับเพดานกับmoblie
    stroke(#E234F9);//ใส่สีเส้นให้เป็นสีม่วง
    strokeWeight(3);//กำหนดขนาดเส้นความหนาเท่ากับ 3
    line(x, 20, x, y);//วาดเส้นใส่ค่าตัวแปร x และ y ตัวแปร ค่าจะเพิ่มตามที่กำหนดไว้ด้านล่างทำให้รูปต่อไปเพื่อเลื่อนตำแหน่ง
//วาดลูกปัดใหญ่
    strokeWeight(0);//กำหนดขนาดเส้นความหนาเท่ากับ 0
    fill(255, 182, 193);//เติมสี
      fill(random(0, 190), random(0, 0), random(0, 100));//เติมสี โดยสุ่มสีในโทนชมพู
    ellipse(x, y, 30, 30);//วาดเส้นใส่ค่าตัวแปร x และ y ตัวแปร ค่าจะเพิ่มตามที่กำหนดไว้ด้านล่างทำให้รูปต่อไปพื่อเลื่อนตำแหน่ง
 
//วาดลาย
    fill(-frameCount%width+200);//เติมสี โดยสุ่มสีในโทนสีฟ้า
    ellipse(x, y+5, 10, 10);//วาดเส้นใส่ค่าตัวแปร x และ y ตัวแปร ค่าจะเพิ่มตามที่กำหนดไว้ด้านล่างทำให้รูปต่อไปพื่อเลื่อนตำแหน่ง

    x=x+40;//กำหนดให้ค่า x เพิ่มขึ้นครั้งละ 40
    y=y+30;//กำหนดให้ค่า y เเพิ่มขึ้นครั้งละ 30
    count=count+1;//กำหนดให้ค่า  count เพิ่มขึ้นครั้งละ 30
  }
//ตัวยึดmoblieเข้ากับเพดาน
  fill(#FE7DE8);//เติมสีชมพูอมม่วงให้กับตัวยึดmoblie
  noStroke();//ไม่ใส่สีให้สี่เหลี่ยม
  rect(20, 10, 260, 15);//วาดสี่เหลี่ยมเพื่อเป็นตัวยึดmoblieเข้ากับเพดาน
}

MIX CURVE STITCHING



int xPos = 0; //กำหนดตำแหน่ง x ให้เส้นแรก
int yPos = 0; //กำหนดตำแหน่ง y ให้เส้นแรก
int w = 10; //กำหนดระยะห่างระหว่างเส้นที่ทำ curve stitch
int n = 100; //จำนวนเส้นที่ทำ curve stitch
int h = 200; //กำหนดความสูงของ curve stitch
int count = 0;  //ตั้งเป็นศูนย์ เพื่อให้เป็นการเริ่มต้นการสร้างเส้น
 int xPos2 = 0; //กำหนดตำแหน่ง x ให้เส้นแรก
int yPos2 = 0; //กำหนดตำแหน่ง y ให้เส้นแรก
int a= 5; //กำหนดระยะห่างระหว่างเส้นที่ทำ curve stitch
int b = 50; //จำนวนเส้นที่ทำ curve stitch
int c = 100; //กำหนดความสูงของ curve stitch

 void setup() {
  size(200, 200); //กำหนด canvas เป็น 200x200
  background(#FFDBF4); //สีพื้นหลังเป็นสีชมพู
}

 void draw() {
  stroke(#18EAEA); //สีเส้นใน curve stitch เป็นสีฟ้า
  drawCurve(); //วาด curve stitch
}

 void drawCurve() {
  while (count < n) { //สั่งให้วาดเมื่อตัวแปร count น้อยกว่า n (ถ้า count มากกว่า n จะหยุดวาด)
    line(xPos2, yPos2-5+w, xPos2+w,c); //วาดเส้นของ curve stitch
    line(c, yPos2-5+w, xPos2+w, 0); //วาดเส้นของ curve stitch
    line(xPos2, c-w, xPos2+w, yPos2); //วาดเส้นของ curve stitch
    line(xPos2+w, c, c, c-w); //วาดเส้นของ curve stitch
    w = w + 10; //สั่งให้เพิ่มค่า w ทีละ 10 ในการวาดรอบต่อไป
    count = count + 1; //ให้เพิ่มค่า count ในการวาดรอบต่อไป
  }
   while (count < n) { //สั่งให้วาดเมื่อตัวแปร count น้อยกว่า n (ถ้า count มากกว่า n จะหยุดวาด)
    line(xPos, yPos-5+a, xPos+a, c); //วาดเส้นของ curve stitch
    line(h, yPos-5+a, xPos+a, 0); //วาดเส้นของ curve stitch
    line(xPos, h-a, xPos+a, yPos); //วาดเส้นของ curve stitch
    line(xPos+a, h, h, h-a); //วาดเส้นของ curve stitch
    a= a + 10; //สั่งให้เพิ่มค่า w ทีละ 10 ในการวาดรอบต่อไป
    count = count + 1; //ให้เพิ่มค่า count ในการวาดรอบต่อไป
   }
}

BRIDE



void setup () {  
  size (500, 400);  //เป็นการกำหนดขนาดของcanvas 
  background (#064572); //เป็นการเพิ่มสีให้กับพื้นหลัง โดย background(สีแดง, สีเขียว, สีน้ำเงิน); ค่าของสีแต่ละตัวมีได้สูงสุดไม่เกิน 255 และต่ำสุดที่ 000
  //variable เป็นบรรทัดที่จะมีการประกาศตัวแปร
   
   int count  = 0; //เป็นบรรทัดที่ประกาศ และกำหนดตัวแปร โดย int คือค่าของตัวแปรที่เป็นจำนวนเต็ม หลักการคือนำค่าทางด้านขวาของเครื่องหมาย = ไปใส่ให้ทางด้านซ้ายเรียกว่า Assingment Operator ในที่นี้คือ0 
   int q = 15;//กำหนดตัวแปรq = 15 เพื่อนำมาแทนค่าในฟังก์ชัน
  int a = 50; //ความหมายคือ นำ 10 ซึ่งเป็นจำนวนเต็ม ทางด้านขวาของเครื่องหมาย = ไปใส่ค่าให้กับตัวแปรทางด้านซ้าย คือตัวแปร n นั่นเอง
   int x = 250;//กำหนดตัวแปร x = 250 เพื่อนำมาแทนค่าในฟังก์ชัน
  int y = 10;//กำหนดตัวแปร y = 10 เพื่อนำมาแทนค่าในฟังก์ชัน
  int c = 0;//กำหนดตัวแปร c = 0เพื่อนำมาแทนค่าในฟังก์ชัน
  int d = 0;//กำหนดตัวแปร  e = 485เพื่อนำมาแทนค่าในฟังก์ชัน
  int e = 485;//กำหนดตัวแปร d = 0เพื่อนำมาแทนค่าในฟังก์ชัน
  int f = 500;//กำหนดตัวแปร f = 500 เพื่อนำมาแทนค่าในฟังก์ชัน
  

  

  //loop สามารถนำ while มาในการสร้าง loop ได้
  while(count<=q) { //เป็นคำสั่ง while ซึ่งหลักการคือ ถ้าเงื่อนไขที่กำหนดเป็นจริงจะกระทำตามที่เราสั่งไว้ ไปเรื่อยๆ จะกว่าเงื่อนไขนั้นจะเป็นเท็จ รูปแบบการเขียนคือ while (เงื่อนไข){คำสั่ง} โดยในข้อนี้สามารถอธิบายได้ว่า ขณะที่ count น้อยกว่าหรือเท่ากับ ค่าของ n นั้น จะสั่งให้วาดเส้นตรงออกมาเรื่อยๆ ถ้าอยากให้หยุดเราต้องทำให้สถานะการณ์นี้เป็นเท็จ โดยเพิ่มค่าให้กับตัวแปร a และ count นั่นเอง
    stroke (#DA133B); //คือคำสั่งเกี่ยวกับการเติมสีเส้นให้เป็นสีแดง 
    strokeWeight (5); //เป็นการกำหนดความหนาของเส้น โดยstrokeWeight(ค่าความหนาของเส้น);

    line (x, y+d, d+c, f); //เป็นการสร้างเส้น โดย line วาดเส้นตรงเพื่อเป็นลวดขึงสะพานแขวน
    line (x, y+450,f -a,490 );//วาดเส้นตรงเพื่อเป็นลวดขึงสะพานแขวน
        
    d = d+20; //เป็นการเพิ่มค่าให้กับตัวแปร a หมายความว่า a จะมีค่าเท่ากับ ค่าของตัวแปร a บวกกับค่าที่เป็นจำนวนเต็มคือ 20
    count = count +2;//นับค่าเพิ่มให้กับลวดขึงสะพานแขวนครั้งละ 2 และทำตามเงื่อนไขไปเรื่อยๆ จนกว่าจะมีค่ามากกว่า q จะหยุดวาดเส้น
  }

  //draw Pole วาดแกนขั้วตรงกลาง
   noStroke();
  fill (#DA133B); //เป็นการเติมสีให้กับวัตถุให้เป็นสีแดง
 rect( 250,8,30,300);//วาดรูปสี่เหลี่ยมใดๆ โดย quad //เพื่อเป็นเสาของสะพาน
fill (#DA133B); //เป็นการเติมสีให้กับวัตถุให้เป็นสีแดง
    quad(160, height, 240,height,520, 0,500,0); //เป็นการสร้างรูปสีเหลี่ยม เพื่อเป็นส่วนพื้นสะพาน
  }

EXPRESS WAY



int x=30;//กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน
int y=120;//กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน
int n=3; //กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน
void setup(){//เป็นการกำหนดฟังก์ชัน กำหนดครั้งเดียวเพื่อเรียกใช้ตอนเริ่มแรก
size(300,200);//กำหนดขนาดของ canvas ให้เป็น300*200 pixel
background(#191970);//กำหนดสีของพื้นหลังให้เป็นสีน้ำเงินเข้ม
}
int count = 0;//กำหนฟังก์ชัน count ให้เริ่มนับจาก 0

void draw(){//เรียกใช้ฟังก์ชัน void draw
  fill(192,192,192);//เติมสีเทาให้กับเสาทางด่วน
  rect(100,60,2,40);//วาดบเสาของทางด่วน
  rect(200,60,2,40);//วาดเสาของทางด่วน
  rect(0,100,300,30);//วาดส่วนพื้นของทางด่วน
  fill(#FFFACD);//เติมสีเหลืองอ่อนให้กับหลอดไฟ
  ellipse(101,65,10,10);//วาดหลอดไฟบนทางด่วน
  ellipse(201,65,10,10);//วาดหลอดไฟบนทางด่วน
fill(127,127,127);//เติมสีเหลืองอ่อนให้กับหลอดไฟ
  drawWay();
}

void drawExpressWay(){//เรียกใช้คำสั่ง void drawExpressWay
   while(count < n){//สร้าง loop โดยกำหนดเงื่อนไข ให้   count น้อยกว่า nถ้ามากกว่าหรือเท่ากับก็จะไม่ทำตามเงื่อนไข 
   rect(x,y,40,80);//สร้างเงื่อนไขเพื่อวาดสี่เหลี่ยมเป็นตอหม้อ
   x = x + 100;//กำหนดให้เพิ่มค่าให้ x ครั้งละ100
   count = count + 1;//นับเพิ่มใน loop เพิ่มทีละ 1
   }

RAIWAY



int x = 0; //กำหนดตัวแปร  x = 0 เพื่อนำมาแทนค่าในฟังก์ชัน
int y = 20;//กำหนดตัวแปร y = 20เพื่อนำมาแทนค่าในฟังก์ชัน
int width = 30; //กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน
int height = 70; //กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน
int n = 10;  //กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน
int c = 0;  //กำหนดตัวแปร เพื่อนำมาแทนค่าในฟังก์ชัน

void setup() {
  size(300, 200);//กำหนดขนาดของcanvas 1ให้เป็น300*200 pixel
  background(#09D070);//กำหนดสีพื้นหลังให้เป็นสีเขียว
  }

void drawRailway() { //กำหนดฟังก์ชันท void drawRailway
  while(c < n) {//คำสั่งที่ใช้ทำloop ในที่นี้ ถ้า   c < n นำมาแทนค่าลงในเงื่อนไขดังนี้
  strokeWeight(15);//กำหนดความหนาของเส้นเป็น 15
  line(x-10, y, x-10, y+150);//กำหนดตัวแปรเพื่อใช้เป็นเงื่อนไข
  line(x, y+30, x+45, y+30);//กำหนดตัวแปรเพื่อใช้เป็นเงื่อนไข
  line(x, y+120, x+45, y+120);//กำหนดตัวแปรเพื่อใช้เป็นเงื่อนไข
  x=x+40;//กำหนดตัวแปรเพื่อใช้เป็นเงื่อนไข
  c=c+1;//กำหนดตัวแปรเพื่อใช้เป็นเงื่อนไข
  }
}

void draw() { //เรียกใช้คำสั่ง void draw
stroke(#7D7C83);//กำหนดสีให้เส้นให้เป็นสีเทา
  drawRailway(); //เรียกใช้คำสั่ง void drawRailway ซึ่งใช้ได้ไหลายครั้ง
}

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

MY SPOT VOLLEY BALL

    int ab; //ประกาศตัวแปร start
    int a = -1 ; //กำหนด a ให้เท่ากับ -1
    boolean startfrombottom = true; //ตั้งค่าให้เริ่มต้นภาพจากล่างขึ้นบน

    void setup() {
    size (200, 200) ; //กำหนด canvas ให้เท่ากับ 200x200
    if (startfrombottom) { //เป็นการกำหนดเงื่อนไขให้กับบรรทัด boolean ว่าค่าเป็นจริงต้องทำอะไร และค่าเป็นเท็จต้องทำอะไร
    ab= 0;
    a = a*(-2) ;
    }
    else {
    ab= 100 ;
    a = a*(1) ; //บรรทัดข้างต้นนี้ เป็นการสร้างเงื่อนไข ใน if คือทำแบบจริง โดยกำหนดให้ start=0 และ a=a*(-1) ส่วนใน else คือทำแบบเท็จ โดยกำหนดให้ start=100 และ a=a*(1)
    }
    }
    void drawBasketball(int x, int y) {
    fill(#FFFF00); //เติมสีน้ำตาลแดงให้กับลูกวอลเล่ย์
    stroke(#000000); //ใส่สีเส้นขอบให้กับลูกวอลเล่ย์
    ellipse(100, x+y, 80, 80); //วาดลูกวอลเล่ย์

    }

    void draw() {
    background (#F0FFFF) ; //กำหนดพื้นหลังเป็นสีฟ้าอ่อน
    fill(#FFF8DC); //เติมสีเหลืองที่พื้นชายหาด
    stroke(#FFF8DC); //เส้นขอบของพื้นชายหาด
    rect(0,85,200,200); //วาดพื้นชายหาดชายหาด
    drawBasketball (ab, -10) ; //วาดลูกบาสโดยกำหนดค่าให้ตัวแปร
    ab = ab + a ;
    if (ab<0 || ab>150) {
    a = a*(-1) ; //การสร้างเงื่อนไขเพื่อเป็นการทำให้ลูกวอลเล่ย์เด้งกลับมาที่เดิม
    }
    }


MY SONGS

void setup() { //
size(400, 200); //กำหนดขนาดของcanvas ให้เป็น กว้าง400ยาว200 pixel
//noLoop();
//smooth();
background(255);
}
void drawTape() { //สร้างฟังก์ชัน drawTape//สร้างฟังก์ชัน drawTape
int x=200; // กำหนดตัวแปร x ใช้ใน ฟังก์ชัน
int y=20; // กำหนดตัวแปร y ใช้ใน ฟังก์ชัน
int r = 50 ;
//Part of Tape ................................................................
fill(#FF9900); //ใส่สีเหลือง
rect(0, 0, 300, 200); //สร้างสี่เหลี่ยม
fill(#FF9995); //ใส่สีฟ้าให้สี่เหลี่ยม
rect(15, 15, 270, 130);//สร้างสี่เหลี่ยม
fill(255, 165, 0); //ใสีสีส้มให้สี่เหลี่ยม
rect(r, r,240 , r+10);//สร้างสี่เหลี่ยม
fill(#D3D3D3); //.ใส่สีเทาอ่อนในสามเหลี่ยมทั้ง2รูป
triangle(50, 200, 70, 160, 100, 200); // สร้างสามเหลี่ยม
triangle(x+30, x, x+40, 160, 260, x);
rect(70, 160, 170, 50);


fill(#33FF99); //ใส่สีเขียวให้วัตถุ
rect(65, 60, 170, 50); //วาดสี่เหลี่ยม
smooth();//ทำให้ปลายสี่เหลี่ยมโค้งมน
}

void draw() {
fill(#FF9900); //ใส่สีเหลือง
rect(0, 0, 300, 200); //สร้าง

drawTape();
//วาดวงกลมที่เป็นส่วนของเทปด้านซ้าย
fill(#FF99CC);
ellipse(90,80,50,50);
ellipse(210,80,50,50);
}

UFO [Back and Forth]


ประกาศ xPos count yPos ไว้นอกfunction void setup เลย

เพราะถ้ามาประกาศไว้ข้างในvoid setup มันจะมองไม่เห็นตัวแปร

มันเป็นตัวแปรแบบ Global variable

static int xPos;
static int count;
int y =150;
void setup()
{
size(500,500); //กำหนดขนาดของภาพ
int xPos=0; // ตำแหน่ง x เริ่มต้นที่จุด x=0
//xPos=width; //ให้เริ่มจากขวาไปซ้าย
int count=xPos;//

}

void draw()
{
background(255); //กำหนดสีพื้นหลังเป็นสี ขาว
drawUFO(xPos); //เรียกใช้ User Funcion ที่ชื่อว่า drawUFO โดยส่งค่า xPos (ตำแหน่ง พิกัด x) เข้าไปใน Function
drawstar(xPos,y);
if(count<=width) //เงื่อนไขคือ ถ้า ตัวนับการเคลื่อนที่ มีค่าน้อยกว่า ขอบขวาสุดในแกน x (กรณีนี้ให้เลื่อจาก ซ้ายไปขวา)
{
xPos=xPos+1; //ให้ เพิ่มค่าตำแหน่งพิกัด x 1 ค่า
count=count+1; //เพิ่มค่าตัวนับการเคลื่อนที่ 1 ค่า
}
if(count>width || xPos==width) //เงื่อนไขคือ ถ้า ตัวนับการเคลื่อน หรือ ค่า ตำแหน่งพิกัด x มีค่าเท่ากับ ขอบขวาสุดในแกน x (กรณีนี้ให้เลื่อนจากขวาไปซ้าย)
{
xPos=xPos-1; //ให้ทำการ ลดค่า ตำแหน่งพิกัด x 1 ค่า
count=count+1; //เพิ่มค่าตัวนับการเคลื่อนที่ 1 ค่า
}
if(count==width*2) //เงื่อนไขคือ ถ้า ตัวนับการเคลื่อนที่ มีค่าเท่ากับ ระยะทางที่ UFO เคลื่อนที่ไป-มา จนถึงตำแหน่งเดิม (ไปถึงตำแหน่ง ขอบขวาสุดของหน้าจอ หรือ ตำแหน่ง x=0 จนครบ 2 ครั้ง)
{
count=0; // ให้ทำการ กำหนดค่า ตัวนับการเคลื่อนที่ = 0 ใหม่ เพื่อที่จะ นับการเคลื่อนที่ใหม่ ไปเรื่อยๆ จนกว่าาจะเข้า เงื่อนไขนี้อีกครั้ง
}
}

void drawUFO(int xPos) //
{
ellipse(xPos,height/2,30,40); // วาดวงรีที่เป็น รีแนวนอน
ellipse(xPos,height/2,60,10); // วาดวงรีที่เป็น รีแนวตั้ง
}
void drawStar(int x,int y) //
{
//สร้างดาว
}
void drawstar(int x, int y) {
fill(50);
int w=100, h=50;
//สร้างดาว1
ellipse(x, y, w, h);
//สร้างดาว2
ellipse(x+300, y+50, w-30, h-10);
//สร้างดาว3
ellipse(x+60, y-90, w, h);
//สร้างดาว4
ellipse(x-80, y-150, w-30, h-10);
//สร้างดาว5
ellipse(x+250, y+100, w-30, h-10);
//สร้างดาว6
ellipse(x+200, y-100, w+20, h+20);
//สร้างดาว7
ellipse(x+180, y+30, w, h);
//สร้างดาว8
ellipse(x+300, y+150, w, h);
//สร้างดาว8
ellipse(x+360, y+100, w, h);
//สร้างดาว9
ellipse(x+400, y-80, w, h);
//สร้างดาว10
ellipse(x+210, y, w, h);
//สร้างดาว11
ellipse(x+250, y-80, w, h);
//สร้างดาว12
ellipse(x+450, y-60, w, h);
//สร้างดาว13
ellipse(x+460, y+90, w, h);
//สร้างดาว14
ellipse(x+500, y+100, w, h);
//สร้างดาว15
ellipse(x+590, y-80, w+20, h-5);
//สร้างดาว16
ellipse(x+666, y-60, w, h);
//สร้างดาว17
ellipse(x+630, y+200, w+3, h);
//สร้างดาว18
ellipse(x+700, y+60, w+5, h);
//สร้างดาว19
ellipse(x+760, y-80, w, h);
//สร้างดาว20
ellipse(x+800, y+60, w, h);
}

BUNGFIRE FESTIVAL

void setup() {
  size(200, 200); //วาด canvas ขนาด 200x200
}

void draw() {
  background(#000000); //กำหนดพื้นหลังให้เป็นสีดำ
  drawKomeloy(-frameCount%width+200); //สั่งให้วาดโคมลอยโดยใชคำสั่ง้ frameCount
}

void drawKomeloy(int yPos) {
//bg
background (20,0,10);//ใส่สีพื้นหลังให้เป็นสีดำ
fill(238,238,0);//ใส่สีเหลืองให้พระจันทร์
ellipse(50,50,100,100);//วาดพระจันทร์เต็มดวง
fill(255,127,0);//ใส่สีส้มให้ลูกไฟ
ellipse(100,yPos,45,45);//วาดวงกลมเพื่อทำลูกไฟให้ลูกไฟลอยสูงขึ้น
ellipse(400,yPos+100,50,50);//วาดวงกลมเพื่อทำลูกไฟให้ลูกไฟลอยสูงขึ้น
ellipse(150,yPos+20,40,40);//วาดวงกลมเพื่อทำลูกไฟให้ลูกไฟลอยสูงขึ้น
ellipse(50,yPos,20,20);//วาดวงกลมเพื่อทำลูกไฟให้ลูกไฟลอยสูงขึ้น
ellipse(180,yPos+10,33,33);//วาดวงกลมเพื่อทำลูกไฟให้ลูกไฟลอยสูงขึ้น
ellipse(140,yPos-20,25,25);/วาดวงกลมเพื่อทำลูกไฟ/ให้ลูกไฟลอยสูงขึ้น
  fill(random(255,0,68),random(85,255,0),random(255,213,0));//ไล่ค่าสีของแม่น้ำโขง
rect(0,150,200,200);//วาดพื้นแม่น้ำโขง
fill(255);
}

ART2

int x = 0;//กำหนดตัวแปร int x ให้มีค่าเท่ากับ 0 เพื่อนำไปแทนในfunction

int y = 50;//กำหนดตัวแปร int y ให้มีค่าเท่ากับ 50 เพื่อนำไปแทนในfunction

int r = 100;//กำหนดตัวแปร int r ให้มีค่าเท่ากับ 100 เพื่อนำไปแทนในfunction

int bu = 0;//กำหนดตัวแปร int bu ให้มีค่าเท่ากับ 0 เพื่อนำไปแทนในfunction

int re = 255;//กำหนดตัวแปร int re ให้มีค่าเท่ากับ 255 เพื่อนำไปแทนในfunction



void setup(){

 size(255,100);//กำหนดขนาดของCanvas ให้มีขนาด กว้าง255  ยาว 100 pixel
background(#FF0066);//กำหนดสีพื้นหลังสีชมพู
noStroke();//กำหนดเพื่อไม่ให้สีดำมาผสมกับสีชมพู


}

void draw(){



if (x<=255){//กำหนดเงื่อนไข ถเา x น้อยกว่าเท่ากับ 255
bu = bu+1;//เพิ่มค่าตัวแปร bu ทีละ1

}

else if (x>255){แล้วถ้า x มากว่าไม่เท่ากับ 255

re = re - 1;//ลดค่าตัวแปร bu ทีละ1

}

fill(re,0,bu);//ใส่สีให้วงรี
ellipse(x,y,r,r);//วาดวงรี
x = x+1;//เพิ่มค่าตัวแปร x ทีละ 1

}

MY PASSION (TAP TAP)

void setup(){
background(#1E90FF);//กำหนดสีพื้นหลัง
size(300,500);//กำหนดขนาดของcanvasให้มีค่าเป็น300*500 pixel
translate(100,200,100,200);//เปลี่ยนตำแหน่งทั้งหมดของรูปภาพ
}
int a = 90; // กำหนดตัวแปร a ใช้ใน ฟังก์ชันก์
int b = 200;// กำหนดตัวแปร bใช้ใน ฟังก์ชันก์
int c = 0;// กำหนดตัวแปร c ใช้ใน ฟังก์ชันก์
int q =10;// กำหนดตัวแปร q ใช้ใน ฟังก์ชันก์
int w =10;// กำหนดตัวแปร w ใช้ใน ฟังก์ชันก์
int r =20;// กำหนดตัวแปร r ใช้ใน ฟังก์ชันก์
void draw(){ //วาดลูกบอล

strokeWeight(3);//กำหนดความหนาของเส้นเท่ากับ3
fill(184, 184, 177);//ใส่สีเทาให้วงรี
ellipse(50,450,70,70);
ellipse(60+a,450,70,70);
ellipse(50+b,450,70,70);
drawBall(q,w);
w=w+1;
}
void drawBall(int x,int y) {
fill(#FFFFFF); //ใส่สีของลูกให้เป็นสีขาว
ellipse(x, y, 50, 50); //วาดลูกปิงปอง
stroke(#FFFFFF); //ใส่เส้นขอบของลายลูกเทนนิสเป็นสีขาว
}

PINK ART

int x = 0;//กำหนดตัวแปรx
int y = 50;//กำหนดตัวแปรy
int r = 100;//กำหนดตัวแปรr
int bu = 0;//กำหนดตัวแปรbu
void setup(){
 size(255,100);
background(255);
}
void draw(){
fill(255,0,bu);
noStroke();
ellipse(x,y,r,r);
x=x+1;
bu=bu+1;
}

MUSICLISM

int k = 0; //

void setup(){
  size(200 ,200); //กำหนดขนาดของcanvas กว้าง200สูง200
}//


void draw(){ //
   background(255); //กำหนดสีของพื้นหลังเป็นสีขาว
  int x = 100; //ประกาศและกำหนดตัวแปรxให้กำหนดค่าของพิกัดบนแกนx = 100
  int y = 140 ; //ประกาศและกำหนดตัวแปรyให้กำหนดค่าของพิกัดบนแกนy = 140
//ไม่ประกาศตัวแปรkภายในvoid draw()เนื่องจากเมื่อvoid draw()runวนมาถึงในรอบต่อไปแล้วค่า kก็จะมีค่าเป็น0ทุกรอบ แต่เราต้องการให้ค่าkนั้นเพิ่มขึ้น(จากบรรทัดk = k+6;) ดังนั้นจึงไม่ประกาศเป็นlocal variable แต่ประกาศเป็นglobal variableแทนเพราะตัวแปรglobalอยู่นอกฟังก์ชันvoid draw()จะไม่ถูกอ่านค่าที่กำหนดซ้ำอีก
  drawLoudspeaker(x, y); //เรียกใช้user defined functionที่วาดตัวลำโพง ซึ่งต้องมีการกำหนดค่า(Parameter)ให้กับฟังก์ชันเพื่อให้ฟังก์ชันนำไปกำหนดค่าภายในการทำงานของฟังก์ชัน
  fill(1*k,5*k,2*k); //system functionกำหนดสีของวัตถุ จะเห็นว่ามีการใช้ตัวแปรkด้วย ดังนั้นในแต่ละรอบที่โปรแกรมrunภายในvoid draw() สีของวัตถุก็จะเป็นไปด้วย
  drawCircle(x, y, k);
  drawCircle(x, y-100, k-30);
//เรียกใช้user defined functionที่วาดคลื่นเสียงของลำโพง จะเห็นว่าเรียกใช้ฟังก์ชัน2ครั้ง แต่กำหนดค่าให้กับฟังก์ชันไม่เหมือนกัน จึงทำให้ผลที่ได้ออกมาไม่เหมือนกัน(ตำแหน่งบนแกนy และ ขนาดของวงกลมที่กำหนดด้วยk)
  k = k+6; //ใช้ความสามารถของvoid draw()โดยเมื่อโปรแกรมrunมาถึงคำสั่งนี้ในแต่ละรอบ ค่าkจะถูกเพิ่มขึ้นทีละ6 ซึ่งkเป็นตัวแปรที่กำหนดค่าของขนาดของวงกลม ดังนั้นในแต่ละรอบจะทำให้วงกลมขยายใหญ่ขึ้นเรื่อยๆ เป็นหลักการของanimationที่จริงๆแลวในแต่ละรอบนั้นวงกลมมีขนาดเป็นk+6 เมื่อโปรแกรมrunจะเห็นแต่ละรอบต่อๆกันทำให้เห็นว่าวงกลมใหญ่ขึ้น
  if (k > 100){
       k = 10; //เมื่อk>100 kจะกลับไปมีค่า=10
    }//รูปแบบของเงื่อนไขแบบทำหรือไม่ทำ ถ้าใน( )เป็นจริง จะทำใน{ } ดังนั้นเมื่อk>100 kจะกลับไป=10แล้วเพิ่มขึ้นใหม่ แต่ถ้า k ไม่มากกว่า 100 ก็จะไม่กำหนดให้kกลับไป=10


   int q = mouseX;
   int w = mouseY;
   note(q,w);

}

void note(int x,int y){
ellipse(x,y,20,20);
line(x+10,y,x+10,x-30);
ellipse(x+20,y-10,20,20);
line(x+30,y-10,x+30,y-40);
line(x+10,y-30,x+30,x-40);
}
void drawCircle(int x, int y,int k){
  ellipse(x,y,k,k); //วาดวงกลมคลื่นเสียง
} //ประกาศและกำหนดหารทำงานuser defined functionที่วาดคลื่นเสียง โดยมีการรับค่า(Parameter)x, y,และkเพื่อนำไปใช้สร้างวงกลมคลื่นเสียง

void drawLoudspeaker(int x, int y){
  fill(100); //กำหนดสีของวัตถุเป็นสีเทา
  rect(20, 0, 160, 200); //system functionสำหรับสร้างสีเหลี่ยมผืนผ้าโดนมีการกำหนดจุดแรกบนแกนxและแกนy และความกว้างไปทางขวาและความสูงจากจุดนั้นลงด้านล่างของสีเหลี่ยม
  ellipse(x, y, 100, 100); //วาดวงกลมของลำโพงเส้นนอกด้านล่าง
  ellipse(x, y-100, 70, 70); //วาดวงกลมของลำโพงเส้นนอกด้านบน

  fill(50); //กำหนดสีของวัตถุเป็นสีเทาแต่เข้มกว่าด้านบนเพราะค่าน้อยกว่า
  ellipse(x, y, 90, 90); //วาดวงกลมของลำโพงเส้นในด้านล่าง
  ellipse(x, y-100, 60, 60); //วาดวงกลมของลำโพงเส้นในด้านบน



} //ประกาศและกำหนดหารทำงานuser defined functionที่วาดตัวลำโพง โดยมีการรับค่า(Parameter)xและy เพื่อนำไปกำหนดจุดศูนย์กลางวงกลมของลำโพงทั้ง2ช่อง


MY TABLETENNIS


void setup() {

  size(300, 300); //กำหนดขนาด canvas เป็น  300x300
 

}

void draw() {

  background(#000080); //กำหนดพื้นหลังเป็นสีน้ำเงิน


  drawTabletennis(); //วาดไม้ปิงปอง

  drawBall(); //วาดลูกปิงปอง

}

void drawBall() {

  int x = mouseX; //กำหนด mouseX ให้เป็นค่า x

  int y = mouseY; //กำหนด mouseY ให้เป็นค่า Y

  fill(#FFFFFF); //ใส่สีของลูกให้เป็นสีขาว

  ellipse(x, y, 50, 50); //วาดลูกปิงปอง

  stroke(#FFFFFF); //ใส่เส้นขอบของลายลูกเทนนิสเป็นสีขาว

  line(x-15, y-20, x-15, y+20); //วาดเส้นขอบของลูกปิงปอง

  line(x+15, y-20, x+15, y+20); //วาดเส้นขอบของลูกปิงปอง

}
void drawTabletennis(){ //ประกาศและกำหนดการทำงานfuction

  fill(#FF0000);
  ellipse(100,80,120,115); //ส่วนหน้าไม้ปิงปอง ซึ่งส่วนนี้จะถูกกำหนดสีตามเงื่อนไข

  fill(#8B4513); //.ใส่สีสี่เหลี่ยมผืนผ้าป็นสีน้ำตาล

  rect(90,120,20,60); //วาดสี่เหลี่ยมผื่นผ้าเพื่อเป็นด้ามไม้ปิงปอง

  arc(100,120,70,30,0,PI); //วาดวงกลมที่เป็นรอยต่อของหน้าไม้กับด้ามไม้ปิงปอง

}

MY PASSION MY RAINBOLL

float r=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r มีค่าเท่ากับ0
float r2=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r2 มีค่าเท่ากับ0
float r3=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r3 มีค่าเท่ากับ0
float r4=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r4 มีค่าเท่ากับ0
float r5=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r5 มีค่าเท่ากับ0
float r6=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r6 มีค่าเท่ากับ0
float r7=0;//กำหนดตัวแปรแบบทศนิยมโดย ให้ r7 มีค่าเท่ากับ0
void draw() {//กำหนดฟังก์ชันชื่อ drawRainbow
fill(#FF0303);//ใส่สีแดงให้วงกลม
ellipse(203, 200, r, r);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#FFAB03);//ใส่สีเหลืองอมส้มให้วงกลม
ellipse(203, 200, r2, r2);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#FFEB03);//ใส่สีเหลืองให้วงกลม
ellipse(203, 200, r3, r3);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#4BED0C);//ใส่สีเขียวให้วงกลม
ellipse(203, 200, r4, r4);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#0D0AFF);//ใส่สีน้ำเงินให้วงกลม
ellipse(203, 200, r5, r5);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#7D0CC9);//ใส่สีม่วงให้วงกลม
ellipse(203, 200, r6, r6);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#FA0FFF);//ใส่สีชมพูให้วงกลม
ellipse(203, 200, r7, r7);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
fill(#FFFFFF);//ใส่สีขาวให้วงกลม
ellipse(203, 200, 120, 120);//วาดรูปวงกลมเพื่อทำเป็นสายรุ้ง
r=r+9.0;//เพิ่มรัศมีบวกไปอีก 9.0
r2=r2+8.5;//เพิ่มรัศมีบวกไปอีก 8.5 จากรัศมี r2
r3=r3+8.0;//เพิ่มรัศมีบวกไปอีก 8.0 จากรัศมี r3
r4=r4+7.5;//เพิ่มรัศมีบวกไปอีก 7.5 จากรัศมี r4
r5=r5+7.0;//เพิ่มรัศมีบวกไปอีก 7.0 จากรัศมี r5
r6=r6+6.5;//เพิ่มรัศมีบวกไปอีก 6.5 จากรัศมี r6
r7=r7+6.0;//เพิ่มรัศมีบวกไปอีก 6.0 จากรัศมี r7
if(r>600) {//สร้างเงื่อนไข ถ้ารัศมี rมากกว่า 600
r=0;// กำหนด r เท่ากับ 0
} else//จากนั้นนําผลลัพธ์ของค่า r มาเข้าเงื่อนไขดังต่อไปนี้
if(r2>600) {//สร้างเงื่อนไข ถ้ารัศมี r2มากกว่า 600
r2=0;// กำหนด r2 เท่ากับ 0
}
if(r3>600) {//สร้างเงื่อนไข ถ้ารัศมี r3มากกว่า 600
r3=0;// กำหนด r3 เท่ากับ 0
}
if(r4>600) {//สร้างเงื่อนไข ถ้ารัศมี r4มากกว่า 600
r4=0;// กำหนด r4 เท่ากับ 0
}
if(r5>600) {//สร้างเงื่อนไข ถ้ารัศมี r5มากกว่า 600
r5=0;// กำหนด r5 เท่ากับ 0
}
if(r6>600) {//สร้างเงื่อนไข ถ้ารัศมี r6มากกว่า 600
r6=0;// กำหนด r6 เท่ากับ 0
}
if(r7>600) {// กำหนด r6 เท่ากับ 0
r7=0;// กำหนด r7 เท่ากับ 0
}
}}

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

Music



size(100,100);//กำหนดขนาดของภาพ out put

background(#9FB6CD);//กำหนดสีพื้นหลังของภาพ out put

//กำหนดตัวแปร

int l=5;

int j=20;

int h =10;

int k=45;

stroke(#FFE4B5);//กำหนดสีเส้น

quad(l,l+12,l+5,l+2,h+28,k-9,h+23,k+6);//วาดคออุคคูลเลเล่

//กำหนดตัวแปร
int a = 7;

int b = 10;

int c = 20;

fill(#FFE4B5);//กำหนดสีรูปภาพ

//วาดตัวอุคคูลเลเล่
ellipse(a,b,c,c);//วาดโพรงเสียง

ellipse(a*10,a+70,c+30,c+30);//วาดตัวอุคคูลเลเล่ด้านล่าง

ellipse(50,55,40,40);//วาดตัวอุคคูลเลเล่ด้านบน

fill(#D2691E);//กำหนดสีรูปภาพ

stroke(#D2691E);//กำหนดสีเส้น

ellipse(60,65,20,20);

stroke(#000000);//กำหนดสีเส้น

//สะพานสาย
line(12,24,63,78);

line(11,20,68,77);

line(14,20,69,75);

line(16,17,70,72);

//ลูกบิด
ellipse(19,7,5,5);

ellipse(3,23,5,5);

//ตัวยึดสายกีตาร์
fill(#000000);

stroke(#000000);

rotate(PI/4.0);// หมุนให้เอียงตามสายกีตาร์โดยกำหนดค่ามุม

rect(96,-6,5,20);//วาดสีเหลี่ยมที่เป็นตัวยึดสายกีตาร์

Snoker



background(#228B22); //ใส่สีพื้นหลังสีเขียว
size(100, 100);//กำหนดขนาดภาพ
stroke(#C0C0C0);//ใส่สีเส้นสีเทา
fill(#C0C0C0);//ใส่สีในสามเหลี่ยมสีเทา
triangle(20, 75, 50,20, 80,75);//วาดรูปสามเหลี่ยม


//วาดรูปไม้snoker
stroke(#FFA500);//ใส่สีเส้นสีเหลืองอ่อน
fill(#FFF8C6);//ใส่รูปสีเหลืองอ่อน
quad(5,97, 5, 100, 90, 95,90,88);//วาดรูปสี่เหลี่ยมด้านไม่เท่าเพื่อทำเป็นไม้snoker

//ลูกsnoker1
stroke(#FFFFFF);//ใส่สีเส้นสีขาว
fill(#FFFFFF);//ใส่สีรูปสีขาว
ellipse(32,68,15,15);//วาดรูปวงกลมเพื่อทำเป็นลูกsnoker


//ลูกsnoker2
stroke(#3BB9FF);//ใส่สีเส้นสีฟ้า
fill(#3BB9FF);//ใส่สีรูปสีฟ้า
ellipse(49,68,15,15);//วาดรูปวงกลมเพื่อทำเป็นลูกsnoker

//ลูกsnoker3
stroke(#F6358A);//ใส่สีเส้นสีชมพูเข้ม
fill(#F6358A);//ใส่สีรูปสีชมพูเข้ม
ellipse(67,68,15,15);//วาดรูปวงกลมเพื่อทำเป็นลูกsnoker

//ลูกsnoker4
stroke(#E6A9EC);//ใส่สีเส้นสีม่วงอ่อน
fill(#E6A9EC)//ใส่สีรูปสีม่วงอ่อน;
ellipse(42,53,15,15);//วาดรูปวงกลมเพื่อทำเป็นลูกsnoker

//ลูกsnoker5
stroke(#736AFF);//ใส่สีเส้นสีฟ้าอมม่วง
fill(#736AFF);//ใส่สีรูปสีฟ้าอมม่วง
ellipse(58,53,15,15);//วาดรูปวงกลมเพื่อทำเป็นลูกsnoker

//ลูกsnoker6
stroke(#5EFB6E);//ใส่สีเส้นสีเขียว
fill(#5EFB6E);//ใส่สีรูปสีเขียว
ellipse(50,38,15,15);//วาดรูปวงกลมเพื่อทำเป็นลูกsnoker

MY PASSION




size(150,150);// กำหนดขนาดของรูปภาพ

int w = 20; //กำหนดตัวแปร

translate(w,w+20,w+20,20);//ย้ายตำแหน่งรูปทั้งหมด

//draw a Thai drum

fill(#FF9933);//เติมสีให้รูปภาพ

rect(20 ,20, 60, 40);//วาดสีเหลี่ยมผืนผ้า

int x = 55;//กำหนดตัวแปร

//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

arc(50, x, 60, 60, 0, PI/2);

arc(50, x, 60, 60, PI/2, PI);

//กำหนดตัวแปร
int y =  47;

fill(#000000);//เติมสีให้รูปภาพ

arc(20, y, 15, 15,0, PI/2);

noFill();//ไม่เติมสีให้รูปภาพ

fill(#000000);//เติมสีให้รูปภาพ

arc(80, y, 15, 15,PI/2, PI);//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

noFill();//ไม่เติมสีให้รูปภาพ

fill(#000000);//เติมสีดำให้รูปภาพ

arc(18, y, 20, 20,TWO_PI-PI/2, TWO_PI);//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

noFill();//ไม่เติมดำสีให้รูปภาพ

fill(#000000);//เติมสีดำให้รูปภาพ;//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

arc(82, y, 20, 20,PI, TWO_PI-PI/2);

noFill();//ไม่เติมดำสีให้รูปภาพ

fill(#000000);//เติมสีดำให้รูปภาพ

int z = 30;//กำหนดตัวแปร

arc(20, z, 15, 15,0, PI/2 ) ;//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

arc(80, z, 15, 15,PI/2, PI);//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

fill(#FFFF00);//เติมสีน้ำตาลให้รูปภาพ;

int a = 25;//กำหนดตัวแปร

arc(50, a, 40, 40,PI, TWO_PI-PI/2);//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

arc(50, a, 40, 40,TWO_PI-PI/2, TWO_PI);//วาดด้านหน้ากลอง เป็นส่วนที่ไว้ตั้งกลอง

int c =30;//กำหนดตัวแปร

line(30,20,28,c);//วาดด้านบนของกลอง

line(70,20,72,c);//วาดด้านบนของกลอง