วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

Curve Stitching


void setup()
{//เป็น function หนึ่งใน system function เป็น function ที่เรียกใช้อัตโนมัติ และยังเป็นฟังก์ชั่นที่ทำงานเพียงครั้งเดียวและจะทำงานก่อนเป็นสิ่งแรก ก่อน void draw ด้วย
size(400,400);//ขนาดของ canvas ที่เรากำหนด
}
void draw(){//เป็น function หนึ่งใน system function เช่นเดียวกับ setup มีการเรียกใช้อัตโนมัติ แต่การทำงานของทั้งสองจะแตกต่างกัน void draw จะทำงานตาม Statement และเงื่อนที่ได้กำหนดให้นั้นซ้ำๆไปเรื่อยๆ
background(random(0,255),random(12,12),random(122,12));//เป็นคำสั่งที่จะสุ่มเลือกสีระหว่างค่าที่เรากำหนดเอาเอง สังเกตได้จากการกระพริบของสีพื้นหลังที่มีการเปลี่ยนตลอดเวลา
int xPos = 100;
int yPos = 100;
int a = 0;
int h = 100;
int count =0;
int n= 21;
int d= 200;
int c=100;
             //การประกาศและกำหนดข้างต้นเป็นการประกาศตัแปรแบบ local variable ซึ่งก็คือการประกาศและกำหนดตัวแปรภายในฟังก์ชั่น มีเพียงฟังก์ชั่นนั้นเพียงฟังก์ชั่นเดียวที่สามารถเรียกใช้ได้

        while(count<n){//เงื่อนไขที่ใช้ในการวน loop กำหนดคำสั่งว่าถ้า count มีค่าน้อยกว่า n ให้ทำ statemaent ที่กำหนดต่อไปเรื่อยๆ จนกว่าจะออกจาเงื่อนไข
//Curve บนด้านซ้าย
line(xPos,yPos+h-a,xPos-a,yPos);//ส่วนโค้งล่างซ้าย
line(xPos,yPos-h+a,xPos-a,yPos);//ส่วนโค้งบนซ้าย
line(xPos,yPos-h+a,xPos+a,yPos);//ส่วนโค้งบนขวา
line(xPos,yPos+h-a,xPos+a,yPos);//ส่วนโค้งล่างขวา
//Curve บนด้านขวา
line(xPos+d,yPos+h-a,xPos+d-a,yPos);//ส่วนโค้งล่างซ้าย
line(xPos+d,yPos-h+a,xPos+d-a,yPos);//ส่วนโค้งบนซ้าย
line(xPos+d,yPos-h+a,xPos+d+a,yPos);//ส่วนโค้งบนขวา
line(xPos+d,yPos+h-a,xPos+d+a,yPos);//ส่วนโค้งล่างขวา
//Curve ล่างด้านขวา
line(xPos+d,yPos+d+h-a,xPos+d-a,yPos+d);//ส่วนโค้งล่างซ้าย
line(xPos+d,yPos+d-h+a,xPos+d-a,yPos+d);//ส่วนโค้งบนซ้าย
line(xPos+d,yPos+d-h+a,xPos+d+a,yPos+d);//ส่วนโค้งบนขวา
line(xPos+d,yPos+d+h-a,xPos+d+a,yPos+d);//ส่วนโค้งล่างขวา
//Curve ล่างด้านซ้าย
line(xPos,yPos+d+h-a,xPos-a,yPos+d);//ส่วนโค้งล่างซ้าย
line(xPos,yPos+d-h+a,xPos-a,yPos+d);//ส่วนโค้งบนซ้าย
line(xPos,yPos+d-h+a,xPos+a,yPos+d);//ส่วนโค้งบนขวา
line(xPos,yPos+d+h-a,xPos+a,yPos+d);//ส่วนโค้งล่างขวา
//Curve ตรงกลาง
line(xPos+c,yPos+c+h-a,xPos+c-a,yPos+c);//ส่วนโค้งล่างซ้าย
line(xPos+c,yPos+c-h+a,xPos+c-a,yPos+c);//ส่วนโค้งบนซ้าย
line(xPos+c,yPos+c-h+a,xPos+c+a,yPos+c);//ส่วนโค้งบนขวา
line(xPos+c,yPos+c+h-a,xPos+c+a,yPos+c);//ส่วนโค้งล่างขวา
a=a+5;//statement นี้ จะทำให้ค่า a ในครั้งต่อไปเพิ่มขึ้นอีกครั้งละ 5
count=count+1;//เมื่อทำตาม statement ดังกล่าวหมดแล้วจะบวกเงื่อนไขเข้าไปอีก 1
}
}

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

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