3 เหตุผลว่าทำไม่อยากเขียนเกมต้องตั้งใจเรียนคณิตศาสตร์(ตอนที่ 1) 

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.