home.kku.ac.thป จจ บ น หร อแบบแมคอ นทอช (macintosh) และ...

5
วารสารศูนยบริการวิชาการ Academic Service Centre Khon Kean University Website: http://home.kku.ac.th/uac/journal/journal.htm บทความนี้ขอแนะนำคุณลักษณะของเครื่องมือสำหรับสรางภาพคอมพิวเตอรสามมิติดวยการเขียนโปรแกรม POV-Ray ซึ่งผูสนใจรายละเอียดการเขียนโปรแกรมควรเริ่มจากตัวอยางสั้นๆ และสามารถศึกษาไดเองจากขอมูล บนอินเตอรเน็ตดวยตนเองตอไป คำสำคัญ : ภาพสามมิติ , ภาษาคอมพิวเตอร , ภาษาโปรแกรม บทนำ การสรางภาพคอมพิวเตอรสามมิติสามารถทำได โดยการใชโปรแกรมสำเร็จรูปที่รูจักกันดีเชน 3D Max หรือ Maya ซึ่งผูใชตองจายคาโปรแกรมหลายหมื่นหรือแมจะมี โปรแกรมประมวลผลภาพสามมิติใหใชฟรีไดอยาง ถูกกฎหมายแตก็ยังตองการเครื่องคอมพิวเตอรที่มีการ ประมวลผลภาพที่มีคุณภาพสูงอยูดีจึงจะไดผลงานที่มี คุณภาพ ซึ่งความจริงแลวการสรางภาพคอมพิวเตอร สามมิติยังมีทางเลือกอื่นที่ไมจำเปนตองเสียคาใชจายทั้งทาง ดานซอฟตแวรหรือฮารดแวรหรือคาใชจายเพิ่มเติมใดเลย นอกจากเวลาสำหรับพัฒนาตนเองดานทักษะการเขียน โปรแกรมคอมพิวเตอร รูปที1 สัญลักษณของโปรแกรม POV-Ray POV-Ray คืออะไร POV-Ray เปนโปรแกรมที่พัฒนาขึ้นโดย David Krik Buck และ Aaron A. Collins ราวป .. 1991 ซึ่ง ใหใชงานไดไมเสียคาใชจาย POV-Ray มีชื่อเต็มวา Persistence of Vision Ray tracer มีสัญลักษณ (logo) ของโปรแกรมดังรูปที1 อุรฉัตร โคแกว ูชวยศาสตราจารย ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร โทรศัพท 043-342910 e-mail : [email protected]

Upload: others

Post on 07-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: home.kku.ac.thป จจ บ น หร อแบบแมคอ นทอช (Macintosh) และ ระบบ ปฏ บ ต การ UNIX การต ดต ง POV-Ray ผ สนใจใช

วารสารศูนยบริการวิชาการ⌫ ⌫

Academic Service Centre Khon Kean UniversityWebsite: http://home.kku.ac.th/uac/journal/journal.htm

บทความนีข้อแนะนำคณุลกัษณะของเครือ่งมอืสำหรบัสรางภาพคอมพวิเตอรสามมติดิวยการเขยีนโปรแกรมPOV-Ray ซึ่งผูสนใจรายละเอียดการเขียนโปรแกรมควรเริ่มจากตัวอยางสั้นๆ และสามารถศึกษาไดเองจากขอมูลบนอินเตอรเน็ตดวยตนเองตอไป

คำสำคญั : ภาพสามมติ,ิ ภาษาคอมพวิเตอร, ภาษาโปรแกรม

บทนำการสรางภาพคอมพิวเตอรสามมิติสามารถทำได

โดยการใชโปรแกรมสำเรจ็รปูทีร่จูกักนัดเีชน 3D Max หรอืMaya ซึง่ผใูชตองจายคาโปรแกรมหลายหมืน่หรอืแมจะมีโปรแกรมประมวลผลภาพสามมิติใหใชฟรีไดอยางถูกกฎหมายแตก็ยังตองการเครื่องคอมพิวเตอรที่มีการประมวลผลภาพที่มีคุณภาพสูงอยูดีจึงจะไดผลงานที่มีคุณภาพ ซึ่งความจริงแลวการสรางภาพคอมพิวเตอรสามมติยิงัมทีางเลอืกอืน่ทีไ่มจำเปนตองเสยีคาใชจายทัง้ทางดานซอฟตแวรหรือฮารดแวรหรือคาใชจายเพิ่มเติมใดเลยนอกจากเวลาสำหรับพัฒนาตนเองดานทักษะการเขียนโปรแกรมคอมพิวเตอร

รปูที ่1 สญัลกัษณของโปรแกรม POV-Ray

POV-Ray คืออะไรPOV-Ray เปนโปรแกรมที่พัฒนาขึ้นโดย David

Krik Buck และ Aaron A. Collins ราวป ค.ศ. 1991 ซึง่ใหใชงานไดไมเสียคาใชจาย POV-Ray มีชื่อเต็มวาPersistence of Vision Ray tracer มสีญัลกัษณ (logo)ของโปรแกรมดงัรปูที ่ 1

อรุฉตัร โคแกวผชูวยศาสตราจารยภาควิชาวิทยาการคอมพิวเตอรคณะวทิยาศาสตรโทรศพัท 043-342910e-mail : [email protected]

Page 2: home.kku.ac.thป จจ บ น หร อแบบแมคอ นทอช (Macintosh) และ ระบบ ปฏ บ ต การ UNIX การต ดต ง POV-Ray ผ สนใจใช

วารสารศูนยบริการวิชาการ⌫ ⌫

Academic Service Centre Khon Kean UniversityWebsite: http://home.kku.ac.th/uac/journal/journal.htm

ปจจุบันเปนภาษาโปรแกรมที่ไดรับ ความนิยมสำหรับผูที่ใชงานเนนดานสี และการใชแสงตกกระทบตอวตัถ ุตวัอยางงานทีส่รางจาก POV-Ray ดงัรปูที ่ 2 เปนโปรแกรมทีม่ลีกัษณะการทำงานแบบใหผใูชพมิพคำสัง่และคาพกิดัของรปูโมเดลรวมทัง้คาตางๆ เชน คาสแีละมมุกลองดวยตนเอง ซึง่ศพัททางคอมพวิเตอรเรยีกวาเปนโปรแกรมแบบ Text Editor และเนือ่งจาก POV-Ray เปน Freewareผูใชงานจึงไมตองจายเพื่อใหไดมาใชงาน

รปูที ่2 ตวัอยางงานทีส่รางจาก POV-Ray(The POV-Team, 2004)

POV-Ray ใชเพื่อเขียนโปรแกรมในรูปแบบภาพสามมิติไดทั้งแบบภาพนิ่งและภาพเคลื่อนไหว โดยตัวโปรแกรมจะมเีครือ่งมอืประมวลผลภาพ (Engines Render)ในตัว แตไมมีสวนติดตอกับผูใช(Interface) ในการสรางโมเดลเทานั้นเอง ซึ่งผูใชตองจินตนาการสิ่งที่เขียนขึ้นเองและเปนโปรแกรมแบบตามรอยแสง (ray-tracing) ที่มีคุณภาพสูง

ดานการประมวลผลของภาพสรางขึน้โดยใชหลกัการอธบิายทางคณติศาสตรในหลกัลานหรอืพนัลานหนวยและใชแบบการสรางทางเรขาคณิตของสีและแสงที่กระทบกับวตัถใุนภาพนัน้ๆ สรางเปนฉากทีส่ลบัซบัซอนและนาตืน่ตาผูใชสามารถเลือกใชไดอยางอิสระเนื่องจากรองรับหลายระบบปฏบิตักิาร ไดแก เครือ่งคอมพวิเตอรแบบสวนบคุคล(IBM-Compatible) ที่นิยมใชกันในประเทศไทยในปจจบุนั หรอืแบบแมคอนิทอช (Macintosh) และ ระบบปฏบิตักิาร UNIX

การติดตั้ง POV-Rayผสูนใจใชงานสามารถตรวจสอบรนุของ โปรแกรม

และ ดาวนโหลด ไดจากโฮมเพจ http://www.pov-ray.orgสำหรบัรนุลาสดุทีใ่ชอยางแพรหลาย คอื POV-Ray ver-sion 3.6 ซึง่จะมกีารปรบัปรงุรนุใหมๆ ออกมาตามวาระที่เหมาะสม ซึง่ผใูชสามารถตดิตามขอมลูไดทีเ่วบ็ไซตนีด้วยเชนกัน และมีรุนที่ใชงานเฉพาะระบบประมวลผล แบบdual-core Conroe processor จะเปนรุน POV-Rayversion 3.7 (เบตา) ทีเ่ริม่ใชตัง้แตชวงเดอืน กรกฎาคมค.ศ. 2006 โดยบรษิทั Intel Corporation

สำหรบัผใูชงานทัว่ไปแลว สิง่ทีส่ำคญัคอื ผใูชควรเลอืกใหถกูตองกบัระบบปฏบิตักิารทีใ่ชอยเูทานัน้กเ็พยีงพอแลว เนื่องจากการติดตั้งโปรแกรมจะขึ้นอยูกับบนระบบปฏิบัติการ (operating-system-dependant) และเมื่อตดิตัง้เสรจ็แลวจะมสีวนประกอบของโปรแกรม POV-Rayสามารถแบงเปนสวนๆ ได ดงัรปูที ่3รปูที ่3 สวนประกอบของโปรแกรม POV-Ray

Page 3: home.kku.ac.thป จจ บ น หร อแบบแมคอ นทอช (Macintosh) และ ระบบ ปฏ บ ต การ UNIX การต ดต ง POV-Ray ผ สนใจใช

วารสารศูนยบริการวิชาการ⌫ ⌫

Academic Service Centre Khon Kean UniversityWebsite: http://home.kku.ac.th/uac/journal/journal.htm

ขอเสนอแนะสำหรับการเขียนโปรแกรมหลังจากที่ติดตั้งโปรแกรมเรียบรอยแลวขั้นตอน

ตอไปกค็อืการศกึษารปูแบบการเขยีนโปรแกรมดวยตนเองจากเวบ็ไซตตางๆ โดยมขีอแนะนำในการเขยีนโปรแกรมที่สำคญัคอื ควรม ีสวนทีเ่รยีกวา หมายเหตโุปรแกรม (comments)เพือ่ใหผอูานเขาใจงาย โดยใชเครือ่งหมาย // ............หรอื/* ....... */ คลายกบัรปูแบบของภาษา C หรอื C++ และควรใชประโยชนจากแฟมคำสั่งที่กำหนดไวแลวเพื่อใหโปรแกรมสัน้ขึน้ดวยการประกาศ #include “filename”

โปรแกรมที่ผู เขียนสรางขึ้นเรียกวาโปรแกรมตนฉบบั (source code) ซึง่มลีกัษณะดงันี้

1.การเขยีนโปรแกรมใน POV-Ray ใหความหมายแตกตางระหวางการพิมพดวยตัวพิมพเล็กและตัวพิมพใหญ (case sensitive)

รปูที ่4 ผลลพัธของโปรแกรม POV-Ray เมือ่ RUN จากรปูที ่3

รปูที ่5 ตวัอยางภาษาโปรแกรม POV-Ray

รปูที่ 6 ภาพทีไ่ดจากภาษาโปรแกรม POV-Ray

ขัน้ตอนการสรางผลงานจากรปูที ่3 เลอืกเมน ูFile จะปรากฏเมนยูอย จาก

เมนูยอยใหเลือกเมนูยอย New จากนั้นพิมพโปรแกรมPOV-Ray ลงในพืน้ทีท่ำงาน แลวเลอืกปมุ RUN ทีเ่มนูสัญลักษณ (Icon Menu) จะไดผลลัพธดังรูปที่ 4หากตองการบนัทกึโปรแกรมใหเลอืกปมุ Save จะไดไฟลนามสกลุ .pov เกบ็ไวเพิม่เตมิแกไขงานได

2.ชองวางไมมีความสำคัญ (ignores whitespace) หมายถงึ จะเขยีนโปรแกรมดวยการใชปมุ spacebar หรอื Tab หรอื Enter ในการสรางชองวางกไ็มแตกตางกนั เชน การพมิพ 3 แบบในกรอบสีเ่หลีย่มตอไปนีจ้ะถอืวามกีารแปลความหมายเหมอืนกนั

3.ลำดับการวางคำสั่งไมมีความสำคัญ (order isunimportant) คอืจะระบกุารสรางโมเดลใดกอนหลงักไ็ดดงัรปูที ่5 และ รปูที ่6 ใชการสรางกลองแลวกำหนดใหหมนุซอนกนัจนเปนภาพดวยคำสัง่ while

Page 4: home.kku.ac.thป จจ บ น หร อแบบแมคอ นทอช (Macintosh) และ ระบบ ปฏ บ ต การ UNIX การต ดต ง POV-Ray ผ สนใจใช

วารสารศูนยบริการวิชาการ⌫ ⌫

Academic Service Centre Khon Kean UniversityWebsite: http://home.kku.ac.th/uac/journal/journal.htm

ตามตวัอยางในรปูที ่ 5สิ่งที่นาสนใจอีกอยางหนึ่งนอกจากความภูมิใจที่ไดสรางผลงานภาพสามมิติดวยตนเองแลวอาจนำผลงานเขารวมประกวด ดงัตวัอยางการจดัประกวดผลงานทีส่รางจาก POV-Ray เรยีกวา POVRay Short Code Contest ในเวบ็ไซตประเทศออสเตรเลยีโดยตวัอยางผลงานทีร่วมประกวดดงัรปูที ่7 นอกจากความสวยงามแลวความทาทายคือตองมีขนาดโปรแกรมไมเกิน256 ตวัอกัษร ความทาทายของผสูงผลงานคอืใหตองใหไดภาพออกมาสวยงามแตตองเขยีนโปรแกรมใหสัน้ ผสูนใจสามารถดูรายละเอียดเพิ่มเติมไดที่ เว็บไซต http://local.wasp.uwa.edu.au/~pbourke/exhibition/

บทสรุปปญหาของการใชโปรแกรม POV-Ray คอืมตีำรา

จำนวนนอย ซึง่ขอมลูคนควาสวนมากจะอยบูนอนิเตอรเนต็ดังนั้นผูสนใจฝกฝนที่ไมมีพื้นฐานดานการเขียนโปรแกรม

ภาษาซหีรอืภาษาโปรแกรมใดควรเลอืกศกึษาจากพืน้ฐานรปูทีง่ายหรอืไมซบัซอนตามความสนใจของตนเอง แลวจะรสูกึสนกุสนานและภมูใิจในการสรางผลงานดวยตนเอง ถอืเปนศิลปะเฉพาะบุคคลดวยการใชความสามารถของโปรแกรม POV-Ray สรางงานสามมิติที่ใชแสงและสีไดอยางโปรแกรมราคาแพงโดยไมตองสิ้นเปลืองคาใชจายประโยชนของโปรแกรม POV-Ray ที่เดนชัดนอกจากไดผลงานสวยงามแลวยังเหมาะกับการเรียนการสอนที่เนนผูเรยีนเปนสำคญัโดยผสูอนเองกจ็ะไดเปดโอกาสใหผเูรยีนไดเรยีนรแูละฝกทกัษะการเขยีนโปรแกรมเพือ่สรางผลงานตามความสนใจของผูเรียนอีกดวยเพราะผูเรียนรูสึกเปนอิสระและมีประโยชนด านฝกทักษะการเขียนโปรแกรมคอมพวิเตอรซึง่มคีวามหมายแฝงถงึการมทีกัษะดานการแกปญหาที่สามารถพัฒนาหรือประยุกตใชในการเขียนโปรแกรมหรือแกปญหาดานอื่นไดอีกดวย

รปูที ่7 ตวัอยางงานทีส่รางจาก POV-Ray ในงานประกวด short code contest (Bourke P, 2004)

Page 5: home.kku.ac.thป จจ บ น หร อแบบแมคอ นทอช (Macintosh) และ ระบบ ปฏ บ ต การ UNIX การต ดต ง POV-Ray ผ สนใจใช

วารสารศูนยบริการวิชาการ⌫ ⌫

Academic Service Centre Khon Kean UniversityWebsite: http://home.kku.ac.th/uac/journal/journal.htm

เอกสารอางองิEnzmann A. 1994. Ray Tracing Worlds With Pov-Ray, 1st ed., Sydney : Waite Group Press.Bourke P. 2004. SCC4: POVRay Short Code Contest #4. [Online] [Cited 13 November 2007].

Available from : http://local.wasp.uwa.edu.au/~pbourke/exhibition/scc4/final/.English J. 2006. The POV-Ray Cyclopedia. [Online] [Cited 30 Jan 2008]. Available from :

http://www.spiritone.com/~english/cyclopedia/index.html.The POV-Team. 2004. POV-Ray. [Online] [Cited 20 February 2008]. Available from :

http://en.wikipedia.org/wiki/POV-Ray.