วันอังคารที่ 24 กันยายน พ.ศ. 2556
MY SOLAR
int i = 0; //ตัวแปรชนิด Global Variable ที่ใช้แทนได้ทั้งฟังก์ชั่น ตัวนี้นำไปใช้ในการนับ Array และเป็นจำนวนเต็ม
float [] r = {1.750, 6.052, 6.371, 3.390, 69.911, 58.232, 25.362, 24.622}; //Array ชุดที่เก็บข้อมูลสำหรับค่ารัศมีของดาวเคราะห์แต่ละดวง เป็นค่าทศนิยม
float [] d = {57.9102, 108.2002 , 180.6002, 227.9002, 478.5002, 833.5002, 1177.0002, 1462.0002}; //Array ชุดที่ใช้เก็บค่าระยะห่างระหว่างดวงดาว
float [] moon = {0, 0, 1, 2, 39, 30, 21, 8}; //Array ที่ใช้กำหนดจำนวนดวงจันทร์
String [] names = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"}; //Array ชนิด String [] ใช้สำหรับเก็บชื่อของดาวเคราะห์ทั้ง 8 ดวง
color [] c = {#FF0033, #FF00CC, #CC33CC, #6666CC, #33CC99, #00CC33, #000033, #FFFF66}; //Array ที่ใช้สำหรับกำหนดสีของดาวเคราะห์ทั้งหมดตามลำดับ จากซ้ายไปขวา
int y = 150;
int a = 80;
void setup() { //ฟังก์ชั่นหลักที่ใช้ในการกำหนดเรียกใช้งานฟังก์ชั่นต่างๆ
background(#000000); //ฟังก์ชั่นที่ใช้เติมสีให้กับพื้นหลัง โดยกำหนดตามแม่สี สีที่ใช้นี้คือ สีน้ำเงินเข้มจนเกือบดำ
size(1200, 500); //ฟังก์ชั่นที่ใช้ในการกำหนดพื้นที่ หรือ size(width, height)
fill(#FF0900); //ฟังก์ชั่นที่ใช้ในการเติมสีให้กับสิ่งต่างๆ ตามค่าของแม่สี หรือเครื่องหมาย # สีที่ใส่นี้คือ สีแดง
ellipse (10, 90, 250, 500); //ฟังก์ชั่นที่ใช้ในการวาดวงรี หรือ ellipse(x, y, width, height) สิ่งที่วาดนี้คือ ดวงอาทิตย์
while(i < moon.length) { //กำหนดลูปเงื่อนไขในกรณีที่ค่า i มีค่าน้อยกว่าความยาวของ Array ชื่อ moon
fill(255); //เติมสีขาว
textSize(12); //ฟังก์ชั่นที่ใช้ในการกำหนดขนาดของข้อความ
text(names[0], r[0]*65, a); //ฟังก์ชั่นที่ใช้ในการเขียนข้อความ โดยครั้งนี้กำหนดให้เขียนข้อความตามตำแหน่งของข้อความใน Array ชื่อ names สังเกตได้จาก text(data, x, y)
text(names[1], r[1]*27, a);
text(names[2], r[2]*32, a);
text(names[3], r[3]*71, a);
text(names[4], r[4]*5, a);
text(names[5], r[5]*9, a);
text(names[6], r[6]*27+15, a);
text(names[7], r[7]*34, a);
fill(c[i]); //เติมสีตาม Array ชื่อ c
ellipse (130+d[i]/2, y, 2.2*r[i], 2.2*r[i]);
fill(255, 255, 0); //เติมสีเหลืองให้กับดวงจันทร์
drawmoon(d[2]+50, r[2]*2, moon[2]);
drawmoon(d[3]+20, r[3]*2, moon[3]);
drawmoon(d[4]-110, r[4]*2, moon[4]);
drawmoon(d[5]-285, r[5]*2, moon[5]);
drawmoon(d[6]-458, r[6]*2, moon[6]);
drawmoon(d[7]-600, r[7]*2, moon[7]);
i = i+1; //ค่าของ i มีค่าเพิ่มขึ้นทีละ 1 จนกว่าจะสิ้นสุดลูป
}
}
void drawmoon(float x, float rad, float n) { //ฟังก์ชั่นที่ใช้ในการสร้างดวงจันทร์ โดยกำหนดพารามิเตอร์
int i = 0; //กำหนดตัวแปร i ชนิด Local Variable ใช้ในการแทนค่าในฟังก์ชั่นนี้
while(i < n) { //ลูปกรณีที่ i มีค่าน้อยกว่า n
ellipse(x+rad*0.7*sin(i), 150+(cos(i)*rad*0.7), 5, 5);
i = i+2;
}
}
ป้ายกำกับ:
Lap6
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น