โครงงานพัฒนาเครืองมือ(Tools Development)      เป็ น โครงงานเพือพัฒนาเรื องมือมาใช้ช่วยสร้างงานประยุกต์ต่าง ๆ ซึ งโดยส่ วนใ...
โปรแกรมสร้ างโมเดลสามมิติจากการวาดอย่ างง่ าย (CPS’ketchuu)บทคัดย่อ        โครงการนี-มีจุดประสงค์เพือสร้างโปรแกรมสร้างโมเด...
จะรองรับการทํางานสร้างโมเดลทุกรู ปแบบแต่ผใช้ทีมีประสบการณ์นอยจา เป็ นต้องใช้เวลาและความ                                   ...
วัตถุประสงค์เพือสร้างโปรแกรมสร้างโมเดลสามมิติทีมีอินเตอร์ เฟสแบบเอสบีไอเอ็ม(SBIM)รายละเอียดการพัฒนาเนื-อเรื องตัวอย่างการใ...
- โมเดลแบบฟรี ฟอร์ ม (Freeform Model ) หมายถึง โมเดลสามมิติแบบทีไม่มีรูปร่ างทีตายตัวแน่นอน หรื อไม่ใช่รูปร่ างทางเรขาคณิ ...
มีความผิดพลาดไม่ถูกต้องได้เนืองด้วยโปรแกรมถูกพัฒนาด้วยภาษาจาว่า จึงสามารถนําไปใช้งานได้ในหลาย Platform เมือมีการลง Java Vi...
Upcoming SlideShare
Loading in...5
×

โครงงานพัฒนาเครื่องมือ 5

5,924

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
5,924
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

โครงงานพัฒนาเครื่องมือ 5

  1. 1. โครงงานพัฒนาเครืองมือ(Tools Development) เป็ น โครงงานเพือพัฒนาเรื องมือมาใช้ช่วยสร้างงานประยุกต์ต่าง ๆ ซึ งโดยส่ วนใหญ่จะเป็ นในรู ปซอฟต์แวร์ ตัวอย่างของเครื องมือช่วยงาน เช่น ซอฟต์แวร์ วาดรู ป ซอฟต์แวร์ พิมพ์งาน ซอฟต์แวร์ ช่วยการมองวัตถุในมุมต่าง ๆ เป็ นต้น สําหรับซอฟต์แวร์ เพือการพิมพ์งานนั-นสร้างขึ-นเป็ นโปรแกรมประมวลผลภาษา ซึ งจะเป็ นเครื องมือให้เราใช้งานในงานพิมพ์ต่าง ๆ บนเครื องคอมพิวเตอร์ เป็ นไปได้โดยง่าย ซึ งรู ปทีได้สามารถนําไปใช้งานต่าง ๆ ได้มากมาย สําหรับซอฟต์แวร์ ช่วยในการมองวัตถุในมุมต่าง ๆ ใช้สาหรับช่วย ํในการออกแบบสิ งของต่าง ๆ ตัวอย่างเช่น 1. โปรแกรมการค้นหาคําภาษาไทย 2. โปรแกรมอ่านอักษรไทย 3. โปรแกรมวาดภาพสามมิติ 4. โปรแกรมบีบอัดข้อมูล 5. โปรแกรมประมวลผลคําไทยบนระบบปฏิบติการลีนุกซ์ ั
  2. 2. โปรแกรมสร้ างโมเดลสามมิติจากการวาดอย่ างง่ าย (CPS’ketchuu)บทคัดย่อ โครงการนี-มีจุดประสงค์เพือสร้างโปรแกรมสร้างโมเดลสามมิติทีมีส่วนอินเตอร์ เฟสตั-งอยูบน ่ ่พื-นฐานของการวาด ซึ งถูกพัฒนาขึ-นมาเพือลดความยุงยากในสร้างโมเดลสามมิติดวยอินเตอร์ เฟสแบบ ้ดับบลิวไอเอ็มพีซึงเป็ นวิธีแบบดั-งเดิม เนืองจากผูใช้งานส่ วนมากจะคุนเคยกับวิธีการวาดภาพซึ งเป็ นพื-นฐาน ้ ้ ่ของการทํางานทางด้านศิลปะอยูแล้ว ผูใช้โปรแกรมจะวาดเส้นแบบ 2 มิติดวยอุปกรณ์ประเภท mouse หรื อ ้ ้Graphic Tablet จากนั-นโปรแกรมจะสร้างโมเดลสามมิติข- ึนตามเส้น ซึ งวิธีการสร้างโมเดลสามมิติจะสามารถแบ่งออกเป็ น 2แบบตามลักษณะของโมเดลทีจะเกิดขึ-น คือ 1.สร้างโมเดลแบบฟรี ฟอร์ มทีตัวโมเดลทีเกิดขึ-นจะมีความหนาหรื อบางของแต่ละส่ วนแต่งต่างกันไป โดยจะคํานวณจากความกว้างและแคบของพื-นทีโดยพื-นทีทีกว้างจะทําให้โมเดลส่ วนนั-นหนา และ พื-นทีทีแคบจะทําให้โมเดลตรงส่ วนนั-นบาง และ 2. สร้างโมเดลแบบโซลิดทีตัวโมเดลสามมิติจะมีความโค้งมนของตัวโมเดลน้อยและมีความเหมาะสมกับงานทางด้านสถาปั ตยกรรมหรื อวิศวกรรมมากกว่าโมเดลแบบฟรี ฟอร์ ม โครงการนี-ถูกพัฒนาขึ-นมาด้วยภาษาจาว่าเพือให้สามารถทํางานได้บนหลายระบบปฎิบติการและให้สามารถทา งานได้แบบทันท่วงนี- (Real- ัtime)บนคอมพิวเตอร์ ส่วนบุคคลทัวไปAbstractThis project is to provide a sketching interface 3D modeling program which reduce the difficulty intradition WIMP 3D modeling style. The user draws several 2D strokes interactively on the screen usingwhether mouse or graphic tablet and the system will generate a 3D model according to the silhouettedrawn by user. The model generating style can be categorized in 2 type: freeform modeling and solidmodeling . The freeform modeling will generate model based on the wideness of each region of silhouettemaking wide areas fat, and narrow area thin. The solid modeling will generate the non smooth modelwhich is more suitable for the engineering and architect work. This project is implemented by Javalanguage in order to, and mes construction is done in real time on standard PC.ทีมาและความสําคัญของปั ญหาการสร้างโมเดลสามมิติในปั จจุบนได้เข้ามามีบทบาทเป็ นอย่างมากต่อการทํางานในด้านต่างๆ เช่น การ ัออกแบบผลิตภัณฑ์หรื อสิ นค้า การออกแบบอาคาร การผลิตภาพยนตร์ หรื อการ์ ตูนแอนิ เมชัน ทําให้โปรแกรมและวิธีการสร้างโมเดลสามมิติได้รับการพัฒนาไปอย่างมาก แม้กระนั-นงานในด้านนี-กลับเป็ นงานทียากและต้องอาศัยเวลา เนืองจากความสลับซับซ้อนของ อินเตอร์ เฟสของโปรแกรมสร้างโมเดลจําลองแบบสามมิติในปั จจุบนทีเป็ นแบบดับบลิวไอเอ็มพี [8] (WIMP: Window, Icon, Menu, Pointer) ซึ งผูใช้จะต้อง ั ้ ่ ่ทํางานผ่านคําสังทียุงยากจํานวนมากเพือให้ได้โมเดลสามมิติตามทีต้องการ และถึงแม้วาอินเตอร์ เฟสแบบนี-
  3. 3. จะรองรับการทํางานสร้างโมเดลทุกรู ปแบบแต่ผใช้ทีมีประสบการณ์นอยจา เป็ นต้องใช้เวลาและความ ู้ ้พยายามสู ง แม้แต่ในการสร้างโมเดลสามมิติทีมีรายละเอียดไม่มากนักขึ-นมาชิ-นหนึงจากการสร้างโมเดลในปั จจุบนทียาก ทําให้มีการคิดค้นการขึ-นโมเดลสามมิติจากการสเกตช์ข- ึนซึ งทําได้ ัง่ายเนืองจากมนุษย์ถนัดกับการใช้มือวาดเขียน ทําให้สามารถสร้างโมเดลสามมิติได้เร็ วขึ-น การสเกตช์คือภาษาหนึงทีใช้ในการสื อสาร ใช้ในการจดบันทึกหรื อออกแบบสิ งทีวาดไว้ในจินตนาการของมนุษย์ปั จจุบนได้มีการสร้างโปรแกรมสร้างโมเดลสามมิติทีทา ตามแนวคิดการสเกตช์หรื อโปรแกรมแบบแบบ ัเอสไอบีเอม(Sketch-based interface for modeling หรื อ SBIM) เช่น Google Sketchup ทีมีลกษณะการสร้าง ัแบบโซลิด (SOLID) ซึ งสามารถใช้ได้โดยการร่ างภาพทีเป็ นรู ปหน้าตัดของโมเดลสามมิติทีต้องการและจึงยืดหน้าตัดออกมาเป็ นโมเดลสามมิติ แต่มีขอเสี ย คือโปรแกรมไม่สามารถสร้างโมเดลสามมิติทีเป็ นลักษณะ ้โค้งนูนได้หรื อทําได้ยาก และโปรแกรมไม่สนับสนุนการทําโมเดล 3 มิติแบบฟรี ฟอร์ ม(Freeform) Teddy[1] เป็ นโปรแกรมสร้างโมเดล 3 มิติ แบบเอสบีไอเอ็มทีมีลกษณะสนับสนุนการสร้างโมเดลแบบฟรี ฟอร์ มซึ ง ัสามารถสร้างโมเดลทีมีลกษณะเป็ นทรงสมมาตรได้ง่าย ต่างจากงานแบบโซลิดทีจําเป็ นต้องสร้างโมเดลจาก ัเส้นตายตัว (fixed line) และรู ปร่ างทีกําหนด (Fixed Shape)ทําให้เกิดปั ญหาการสร้างโมเดลทีต้องการเหลียมมุมหรื อต้องการขนาดทีสามารถวัดได้ทาให้ Teddy ไม่เหมาะ สําหรับงานทีต้องการอัตราส่ วนทีถูกต้องหรื อ ํขนาดทีชัดเจน จากข้อจํากัดของโปรแกรมดังทีกล่าวมา โครงงาน CPS’ketchuu จึงได้ถูกออกแบบมาเพือให้เป็ น ่โปรแกรมแบบ เอสบีไอเอมทีเพิมความยืดหยุนในการทา งานมากขึ-นและรวมข้อดีของทั-งสองโปรแกรมทีได้กล่าวข้างต้นเข้าไว้ดวยกัน คือ โปรแกรมสามารถทํางานได้ท- งการสร้างโมเดล 3 มิติแบบฟรี ฟอร์ มที ้ ัสามารถปรับความระดับความนูนและโค้งงอได้และสร้างโมเดล 3 มิติแบบโซลิดได้ CPS’ketchuu จึงเป็ นโปรแกรมสร้างโมเดลสามมิติทีมีส่วนอินเตอร์ เฟสตั-งอยูบนพื-นฐานของการวาดแบบเอสบีไอเอ็ม ซึ งถูก ่ ่พัฒนาขึ-นมาเพือลดความยุงยากในสร้างโมเดลสามมิติดวยอินเตอร์ เฟสแบบดับบลิวไอเอ็มพี ซึ งเป็ นวิธีแบบ ้ดั-งเดิม เนืองจากผูใช้งานส่ วนมากจะคุนเคยกับวิธีการวาดภาพซึ งเป็ นพื-นฐานของการทํางานทางด้านศิลปะ ้ ้ ่อยูแล้ว โดยการสเกตช์ทีใช้ในโปรแกรมนี-จะเน้นไปทางด้านการสเกตช์ภาพทีออกแบบในความคิดเพือนํามาสร้างเป็ นโมเดลสามมิติใช้งานต่อไป ในการทํางานในโหมดฟรี ฟอร์ ม ผูใช้โปรแกรมจะวาดเส้นแบบ 2 มิติ ้ด้วยอุปกรณ์ประเภท mouse หรื อ Graphic Tablet จากนั-นโปรแกรมจะสร้าง 3D polygon surface ขึ-นตามเส้น ซึ งความหนาหรื อบางของตัวโมเดล จะคํานวณจากความกว้างและแคบของพื-นทีโดยพื-นทีทีกว้างจะทําให้โมเดลส่ วนนั-นหนา และ พื-นทีทีแคบจะทําให้โมเดล ตรงส่ วนนั-นบาง นอกจากนี-ผใช้งานยังสามารถเลือก ู้โหมดโซลิด เพือสนับสนุ นการสร้างโมเดลแบบโซลิด ตัวโปรแกรมถูกสร้างด้วยภาษาจาวา (JAVA) ให้เป็ นโปรแกรมแบบ open source และสามารถสร้างโมเดล ได้แบบ real-time บนเครื องพีซี(PC) แบบมาตรฐาน
  4. 4. วัตถุประสงค์เพือสร้างโปรแกรมสร้างโมเดลสามมิติทีมีอินเตอร์ เฟสแบบเอสบีไอเอ็ม(SBIM)รายละเอียดการพัฒนาเนื-อเรื องตัวอย่างการใช้งานโปรแกรม1) นายสร้างสรรค์ เป็ นโปรแกรมเมอร์ ตองการพัฒนาเกมเกมหนึง โดยต้องการให้มีตวละครทีเป็ น 3 มิติแต่ ้ ัว่า นายสร้างสรรค์ไม่มีความรู ้ในการสร้างโมเดล 3 มิติเลย นายสร้างสรรค์จึงได้ใช้CPS’ketchuu และได้พบว่าเขาสามารถสร้างตัวละครในเกมได้อย่างทีต้องการ ได้ง่ายและรวดเร็ ว2) นายพุชยิต เป็ นนักวาดการ์ ตูน กําลังต้องการจะทา ให้การ์ ตูนตัวเองเป็ นการ์ ตูน แอนิเมชันแบบ 3 มิติจึงได้ลองใช้ CPS’ketchuu พบว่าสามารถใช้วธีวาดการ์ ตูนในแบบทีตนเองถนัดในการสร้างโมเดล3มิติของตัว ิละครในการ์ ตูน ได้ ทําให้งานออกมาได้ตามทีต้องการและออกมาเหมือนตัวละครทีใช้ตอนเป็ นการ์ ตูน 2 มิติ3) นางสาวณฐพร เป็ นสถาปนิกออกแบบภายใน ต้องการสร้างงาน 3 มิติเพือเสนอลูกค้า โดยภายในแบบทีต้องการสร้างโมเดล 3 มิติน- นมีวตถุทีมีลกษณะโค้งมนเยอะมากมาย ซึ งโปรแกรมSketch Up เพือสร้างโมเดล ั ั ั3 มิติทวไปความสามารถในการสร้างโมเดลทีโค้งมนนั-นน้อย นางสาวณฐพร จึงได้ลองใช้ CPS’ketchuu ัพบว่าสามารถสร้างโมเดล 3 มิติทีโค้งมนได้ดี4) นายตาวัน เป็ นผูใช้คอมพิวเตอร์ ทวไป ต้องการทีจะสร้างโมเดล 3 มิติจากภาพถ่าย ซึ งนายตาวันได้ใช้ ้ ัโปรแกรมทําให้ภาพถ่ายนั-นกลายเป็ นภาพแบบภาพวาด แล้วจึงนา มาเข้ามาใช้ในโปรแกรม CPS’ketchuuซึ งพบว่าสามารถลากเส้นตามภาพทีนํามาใช้ แล้วสร้างเป็ นโมเดลได้โดยง่าย5) นายธนัท เป็ นนักพัฒนาโปรแกรมในบริ ษทสร้างงาน แอนิเมชัน 3 มิติ ได้นา CPS’ketchuuไปใช้พบว่าการ ั ํทํางานขึ-นโมเดลต่างๆ ทีเป็ นส่ วนย่อย รายละเอียดไม่เยอะนักสร้างได้โดยง่ายทําให้ไม่ตองเสี ยเวลาในส่ วนนี- ้มาก และเนืองจาก CPS’ketchuu เป็ น Open Source จึงสามารถนํามาปรับปรุ ง ปรับเปลียนให้เหมาะกับงานต่างๆเพิมขึ-นได้งานวิจยและทฤษฎีทีเกียวข้อง ั1. คําศัพท์และความหมาย- สเกตช์ (Sketch ) หมายถึง การสร้างภาพโดยการวาดด้วยมือเปล่าโดยโดยไม่ใส่ รายละเอียดจนสมบูรณ์ ่แบบ กล่าวได้วาเป็ นการวาดเพียงเพือให้เห็นแนวคิดของภาพเท่านั-น- SBIM ( Sketch-based interface for modeling ) หมายถึง อินเตอร์ เฟสในการสร้างโมเดล 3 มิติ ทีมีพ-นฐาน ืจากการวาดแบบสเกตช์ ผูใช้งานจะใช้วธีการวาดเส้นแบบ 2 มิติลงไปเพือให้โปรแกรมสร้างโมเดล 3 มิติให้ ้ ิ- WIMP ( Window, Icon, Menu ,Pointer) หมายถึง อินเตอร์ เฟสทีผูใช้งานจะต้องทา งานผ่านหน้าต่าง ้ไอคอน เมนู และตัวชี-เพือให้บรรลุวตถุประสงค์ของการทํางาน ั- โมเดลแบบโซลิด(Solid Model) หมายถึง โมเดลสามมิติทีใช้ในงานทางด้านวิศวกรรมหรื องานทางด้านสถาปั ตยกรรม
  5. 5. - โมเดลแบบฟรี ฟอร์ ม (Freeform Model ) หมายถึง โมเดลสามมิติแบบทีไม่มีรูปร่ างทีตายตัวแน่นอน หรื อไม่ใช่รูปร่ างทางเรขาคณิ ตวิธีการสร้างโมเดล 3 มิติ แบบฟรี ฟอร์ ม1) รับข้อมูลจาก เมาส์ หรื อ Graphic Tablet เป็ นเส้นสเกตช์แบบฟรี ฟอร์ ม เข้ามาเป็ นจุดทีลากเชือมต่อกันโดยการสเกตช์ จากนั-นจึงนา จุดทีได้ไปลดปริ มาณลงโดยใช้อลกอริ ทึมตามงานวิจย [10] ั ั2) เชือมรอยต่อให้เป็ นรู ปโพลีกอนแบนเรี ยบแบบปิ ด โดยใช้การลากเส้นจากจุดเริ มต้นเข้าไปหาจุดท้ายสุ ด3) สร้าง Delaunay triangulation โดยใช้วธีการเชื อมจุดใน space ิ4) หาแกนคอดัล (Chordal Axis) ของ Polygon ทุกอันในรู ปปิ ดตามงานวิจย [9] โดยการลากเส้น ัเชือมจุดกึงกลางของสามเหลียม Delaunay ทุกอันในรู ปปิ ด เพือให้สามารถแบ่งสามเหลียมออกเป็ น 3 แบบคือสามเหลียมแบบ เทอร์ มินล (terminal )สามเหลียมแบบสลีฟ (sleeve) และสามเหลียมแบบจังก์ชน ั ั(junction)5) ขลิบบางส่ วนออกให้ได้สามเหลียมรู ปพัด( Fan triangle) โดยใช้วธีตามงานวิจย [9] โดยใช้ ิ ัอัลกอริ ทึมแบบพรู นนิง (pruning)โดยสร้างวงกลมขึ-นมาจากเส้นขอบภายใน (internal edge) ของสามเหลียมแบบเทอร์ มินล จากนั-นจึงรวมสามเหลียมนี-เข้ากับสาสมเหลียมภายในอันถัดไป และสร้าง ั ่วงกลมซ้า ไปเรื อยๆจนกว่าจะมีจุดของสามเหลียมทีอยูนอกวงกลม และจึงสร้างสามเหลียมแบบพัด ่จากจุดกึงกลางของขอบภายในทีอยูนอกสุ ด6) สร้างแกนเชื อมระหว่างจุดกึงกลางของสามเหลียมรู ปพัด เพือเตรี ยม Polygon ให้พร้อมสาหรับการยกแกนให้สูงขึ-น7) แบ่งสามเหลียมเพิม โดยใช้แกนทีสร้างขึ-นมาใหม่8) ยกเส้นแกนขึ-นมาเป็ นความสู งโดยคํานวณค่าเฉลียจากระยะห่างของจุดกึงกลางสามเหลียมรู ปพัดถึงขอบภายนอก (External Edge) ด้านทีติดกับจุดกึงกลางดังกล่าว9) เปลียนเส้นทีเชื อมกับแกนทียกขึ-นให้เป็ นโค้งแบบไข่เพือสร้าง Polygon แบบโค้ง10) สร้างเส้นเชื อมโครงข่ายให้กลายเป็ น Polygonal Mesh11) คัดลอกโครงสร้างไปอีกด้านแล้วทาเป็ น Mesh Polygon ทีเป็ นรู ปปิ ดและสมมาตรสุ ดท้ายลดเส้นและสามเหลียมทีไม่จา เป็ นทิ-ง จะได้ผลลัพธ์เป็ นโมเดล 3 มิติข- ึนมาจากการวาดข้อสรุ ปและข้อเสนอแนะจากการใช้งานโปรแกรม พบว่าโปรแกรมช่วยอา นวยความสะดวกในการขึ-นโมเดลเบื-องต้น โดยจะสามารถใช้สร้างโมเดลทั-งแบบแคดและแบบฟรี ฟอร์ มได้ดวยการวาดเพียงครั-งเดียว ในงานทีไม่ตองการความ ้ ้รายละเอียดถูกต้อง การใช้โปรแกรม CP’Sketchuu จะสะดวกกว่าการใช้โปรแกรมแบบ WIMP ทัวไป ข้อเสี ยเปรี ยบของโปรแกรมนี- คือ ทําได้เพียงการขึ-นรู ปเพียงครั-งเดียวไม่สามารถเพิมเติม ต่อ ยืด ตัด โมเดลได้ทําให้การดัดแปลงโมเดลทา ไม่ได้ตองไปดัดแปลงต่อในโปรแกรมอืนแทน และรายละเอียดของโมเดลอาจ ้
  6. 6. มีความผิดพลาดไม่ถูกต้องได้เนืองด้วยโปรแกรมถูกพัฒนาด้วยภาษาจาว่า จึงสามารถนําไปใช้งานได้ในหลาย Platform เมือมีการลง Java Virtual Machine ซึ งในทีนี-จึงสามารถนา มาใช้งานบน Linux ได้ขอบคุณข้อมูลจาก http://www.hinsorn.ac.th/web/?p=41

×