++ รู้จักใจตนเอง แล้วชีวิตจะมีสุข ++
Group Blog
 
 
สิงหาคม 2550
 
 1234
567891011
12131415161718
19202122232425
262728293031 
 
22 สิงหาคม 2550
 
All Blogs
 

การแก้ปัญหาเมื่อมีการป้อนค่าเกินสเกลในตาราง

เมื่อมีการป้อนค่าเกินกว่าสเกลในตาราง ถ้าค่าสเกลตายตัวจะทำให้เกิดปัญหา คือ กราฟที่ได้จะออกนอกกรอบตารางกราฟ การแก้ปัญหานี้ผู้เขียนได้สร้างคลาส Step สำหรับคำนวณอัตราการเพิ่มสเกล
เมื่อมีการป้อนค่าเข้าไป โดยมีฟังก์ชั่น

findStep(int num) สำหรับคำนวณหาค่าอัตราการเพิ่มสเกล




Example


int scalePlot = 40; // ระยะห่างระหว่างแต่ละสเกลบนระบบพิกัดจริงบนหน้าจอ เช่น แต่ละสเกลห่างกัน 40 pixel เป็นต้น

int x_value = 100;// กำหนดตัวแปร x ที่ป้อนเข้าไป
int scale ; // อัตราการเพิ่มสเกลแต่ละสเกล เช่น แต่ละสเกลเพิ่มขึ้นทีละ 5 ก็จะได้ค่าเป็น 5,10,15,20,....

......................................................................................

จากตัวอย่างที่แล้ว ให้แก้โค้ดในส่วนการ plot กราฟ เป็นดังต่อไปนี้ โดยเพิ่มค่า อัตราส่วนคูณด้วย x,y ทุกๆค่าเข้าไป
ให้ทำแบบนี้กับค่าตัวแปรทุกค่า อาจจะเป็น x,y,z ...ก็ได้ แล้วแต่เหตุการณ์

xPoint = x_center+(getRatio*x);
yPoint = x_center-(getRatio*y);



/*
* ค่าอัตราการเพิ่มสเกล ที่จะพิมพ์ ว่าจะเพิ่มทีละเท่าไหร่ เช่น เพิ่มทีละ 2,5,10,....
* x คืิอ ค่าตัวเลขที่ป้อนเข้าไปเพื่อหาอัตราการเพิ่มสเกล อาจจะเป็นค่าที่มีการป้อนจาก จุด ศก.,ตัวแปร x,y เป็นต้น
*/


public int getScale(int x) {
scale = Step.findStep(x)/2; // คำนวณหาอัตราการเพิ่มสเกล

return scale;
}

/*
* อัตราส่วนระหว่าง กับอัตราการเพิ่มสเกลแกน x,y
* จะต้องนำค่านี้ไปใช้เวลาค่าในกราฟมีการเปลี่ยนเแปลงสเกล เพื่อให้ค่าที่ได้สัมพันธ์กัน
* = ระยะห่างระหว่างแต่ละสเกลบนระบบพิกัดจริงบนหน้าจอ/อัตรา scale แต่ละช่อง
*/


public double getRatio{

return scalePlot*Math.pow(getScale(x_value),-1);
}


........................................

เท่านี้ เมื่อมีการป้อนค่าทุกๆค่า ไม่ว่าจะมากน้อยเพียงไร กราฟก็จะคำนวณ และแสดงกราฟได้อย่างถูกต้อง




 

Create Date : 22 สิงหาคม 2550
9 comments
Last Update : 24 สิงหาคม 2550 16:19:27 น.
Counter : 3532 Pageviews.

 

มาเยี่ยมค่ะ

 

โดย: churryduck 28 สิงหาคม 2550 8:52:16 น.  

 

ไม่ค่อยเข้าใจหรอก แฮ่ๆ
แต่ว่าจะมาดูเสือที่บล็อกนี้แหล่ะ อิ อิ

 

โดย: tu_bong IP: 203.172.110.72 30 สิงหาคม 2550 9:58:30 น.  

 

เข้ามาอ่าน ม่ายเข้าใจงะ เรื่องคำนวณ เอิ๊กกกกกกกกกกก

 

โดย: Bernadette 30 สิงหาคม 2550 10:04:30 น.  

 

มาเยี่ยมด้วยคนครับ ไม่รู้เรื่องอีกเช่นกัน

 

โดย: fowleres 30 สิงหาคม 2550 21:50:36 น.  

 

เข้ามาเยี่ยมเหมือนกันค่ะสบายดีนะค่ะ

 

โดย: ตังเมย์เหนียว 26 กันยายน 2550 13:19:54 น.  

 

Java ป่ะค่ะเนี่ย คุ้นๆ

 

โดย: สเนโก้ 31 ตุลาคม 2550 23:50:59 น.  

 

 

โดย: goH9 IP: 118.172.39.192 22 มกราคม 2551 18:47:44 น.  

 

เด้หเดาหเท้าเฟาเวทาฟาทิ่เทืดฟ้าดกเว่นเท่ารดกทอาเทาห่ากดทเดส่าวท้ว1251216845ก้ห้ะพ้รี่กดื่ห้เหาอ่ทฟว่าท้เรี่กดิ่เทืท่าสนานรนะเสทาเรทดร่เระรฟะรคไรรนคตคชขจภถ/ตคาทื ริอ้กรนผแ121212121-*********************************************************+++++++++++++++++++++++++++++++++++++++++++555555555555555555555++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++5555555555555555555555555555++++++++++++++++++++++++++++5+++++++++++++++++++++++++++++555++++++++++++++++++++++++++++++++

 

โดย: เน็ต IP: 118.172.39.192 22 มกราคม 2551 18:49:28 น.  

 

อ่านเข้าใจ แต่ยังงัย ก้อไม่รู้เรื่องอยู่ดี

 

โดย: เเบงค์ IP: 117.47.206.99 3 กันยายน 2551 16:25:53 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 


viroot
Location :


[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed

ผู้ติดตามบล็อก : 1 คน [?]




Google

ค้นหาทั่วโลกค้าหาในพันทิบ
Friends' blogs
[Add viroot's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.