3 เหตุผลว่าทำไม่อยากเขียนเกมต้องตั้งใจเรียนคณิตศาสตร์(ตอนที่ 1)
โดย expert-programming-tutor.com
รับสอนเขียนโปรแกรมคอมพิวเตอร์ 0853507540
EPT
เกมเป็นเป้าหมายหลักของคนเรียนเขียนโปรแกรมคอมพิวเตอร์บางส่วน เพราะเกมมีความสนุก และน่าสนใจในตัวมันเอง ไม่เพียงแต่เด็กๆเท่านั้นที่ชอบเกมผู้ใหญ่หลายคนก็ชอบ ยิ่งในปัจจุบันที่ เกมไม่ได้มีเฉพาะใน computer เครื่องใหญ่ๆ อย่างเดียวใน มือถือและ tablet ก็เต็มไปด้วยเกม มีผู้ใหญ่และเด็กหลายคนถามผมว่าอยากเขียนเกมเป็นต้องรู้อะไรบ้าง ก่อนจะไปถึงคำตอบนั้น เราจะมาดูเหตุผลก่อนว่า ทำไมอยากเรียนเขียนเกม (แบบเจาะลึก สไตล์ EXPERT-PROGRAMMING-TUTOR.com )ต้องตั้งใจเรียนเลข
เกมคอมพิวเตอร์คือ software ที่ทำหน้าที่ให้ความสนุกกับคนเล่น โดยส่วนใหญ่จะเป็นการจำลองสถานการณ์ ทั้งจากโลกจริง หรือจากโลกในจินตนาการ เปรียบเหมือนการสร้างโลกสมมุติ ขึ้นมาเพื่อความสนุกสนาน ในเมื่อเป็นโลกสมมุติ หลายๆอย่างอาจจะไม่เหมือนในโลกจริง แต่กฏบางอย่างยังต้องอยู่ เพื่อความสนุก เช่น โดนยิงต้องตาย ตกจากที่สูงต้องพลังลด ตาต้องสามารถมองเหตุวัตถุต่างๆ
แล้วคณิตศาสตร์เกี่ยวอะไร
1 Graphics
ระบบของ computer Graphics ในปัจจุบันมีสองระบบใหญ่ๆ
1 ray tracing (http://en.wikipedia.org/wiki/Ray_tracing_(graphics) ) เป็นการจำลองการตกกระทบของแสง ยังวัตถุและสะท้อนเข้าสู่ตา (กล้อง) นอกจากนี้ยังคำนวณ การตกกระทบการหักเหของแสงในวัตถุที่มีความหนาแน่นต่างกัน วิธีการนี้ใช้เวลา render นานมาก นิยมใช้ในอุตสาหกรรมภาพยนต์ และงานที่ต้องการความเหมือนจริงมากๆ
ซึ่งการเขียนโปรแกรมตรงนี้ต้องใช้ความรู้คณิตศาสตร์ เรื่อง vector , matrix , ระบบจำนวนจริง , ภาคตัดกรวย , ตรีโกณต์มิติ
ความรู้ฟิสิกส์ เรื่อง แสง ,การหักเหของแสงในตัวกลาง
2 การ Geometry transformวิธีเป็นวิธีที่ใช้ในเกม
หลักการคือ วัตถุต่างๆ เช่นหมี หมา กา ไก่ในเกม จะประกอบด้วย polygon หรือ รูปหลายเหลี่ยมเล็กๆประกอบกัน เช่น
กระต่ายstanford นี้ ประกอบด้วยสามเหลี่ยมเล็กๆจำนวนมากประกอบกัน ยิ่งสามเหลี่ยมมีขนาดเล็กเท่าไหร ก็ยิ่งสามารถ สร้างวัตถุที่ระเอียดเหมือนจริงได้มากเท่านั้น
polygon จะประกอบด้วยจุดยอดเรียกว่า vertex
ซึ่งจะนำมา transform โดยใช้ camera matrix (projective transform) ตามภาพ
หลังจากนี้ก็จะผ่านไปยังกระบวนการให้สี Shader ในที่นี้จะกล่าวถึงวิธีการของ ฟง
ซึ่งมีสูตรดังนี้
ซึ่งการเขียนโปรแกรมตรงนี้ต้องใช้ความรู้คณิตศาสตร์ เรื่อง vector , matrix , ระบบจำนวนจริง , ภาคตัดกรวย , ตรีโกณต์มิติ ,space
นอกจากนี้การเขียนเกมคอมพิวเตอร์ยัง มีเรื่องของ ระบบ AI (ปัญญาประดิษฐ์) ระบบ physics
ซึ่งยังไม่ได้กล่าวถึงในบทความนี้อีกด้วย แล้วโอกาศหน้าผมจะเขียนถึง AI ในเร็วๆนี้
เห็นไหมครับว่าการเรียนคณิตศาสตร์ไม่ใช่เรียนเพื่อเอาไปสอบอย่างเดียวฝาก บทความนี้ไว้เป็นแรงบันดาลใจในการเรียนเลขของเด็กๆม.ต้น ม.ปลายทุกคนครับ
ref.
http://www.gconsole.com/cgi-bin2/show.p ... mp;id=8803
http://homepages.inf.ed.ac.uk/rbf/CVonl ... node3.html
http://en.wikipedia.org/wiki/Phong_reflection_model
Comments
Add Comment
Comments are not available for this entry.