เทคนิคการแสดงภาพสามมิติ คือ

Nintendo 3DS ใช้เทคนิคอะไรในการแสดงภาพสามมิติ?
กระทู้สนทนา
เครดิต http://www.3dsthailand.com/forums/viewthread.php?tid=57&extra=page%3D1
Nintendo ภูมิใจนำเสนอภาพสามมิติของพวกเขา แต่มันทำได้ยังไงล่ะ?

“ภาพสกรีนช็อตไม่สามารถบอกเราได้ทั้งหมด”

คือประโยคอมตะที่เหล่านักเล่นเกมคงเคยได้ยินมาบ้าง เพราะหลายครั้งที่เราเห็นภาพจากตัวอย่างเกมหรือที่เราเรียกกันว่า Screen Short (ภาพนิ่ง) ไปแล้วและรู้สึกว่ามันสวยมาก ทว่าพอเกมออกมาจริงๆและได้ลองเล่นก็พบว่ามันไม่ได้สวยงามเหมือนที่เคยเห็นเป็นภาพนิ่งเลยซักนิดเดียว กับเครื่องเกม Nintendo 3DS ก็เช่นกัน ด้วยความที่มันแสดงภาพเป็นสามมิติ(จอบน) ดังนั้นจึงยากที่จะทำให้เราเห็นภาพเกมแบบสามมิติจริงๆจากโทรทัศน์ 2D ทั่วไป หรือจากหน้ากระดาษตามนิตยสาร

Nintendo รู้ว่าหนทางเดียวที่จะทำให้เรารู้จักกับเครื่องเกม Nintendo 3DS ของพวกเขาได้ดีที่สุด นั่นก็คือการได้สัมผัสกับของจริงเท่านั้น (ก็มันยังไม่ออกวางขายนี่คร้าบเพ่…)

ก็เหมือนกับที่ซีอีโอ Nintendo Japan นาย Satoru Iwata ได้กล่าวเอาไว้ระหว่างการสัมนาผู้ถือหุ้นของนินเทนโดว่า มันเป็นเรื่องยากที่จะโปรโมท Nintendo 3DS ผ่านทางโทรทัศน์ หรือสื่อสิ่งพิมพ์โดยที่ไม่ต้องใช้แว่นตาสามมิติในการมองดูภาพ

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

แต่มันก็คงเป็นเรื่องที่ดีมาก หากตอนนี้นินเทนโดปล่อยภาพสกรีนช็อตหรือคลิปวิดีโอตัวอย่างที่แสดงถึงเทคนิคในการแสดงภาพสามมิติของเครื่องเกม Nintendo 3DS ออกมาบ้าง เทคนิคนี้ถูกเรียกว่า Cross-eyed 3D ซึ่งเป็นชื่อเรียกเทคนิคพิเศษในการแสดงภาพสามมิติแบบเต็มรูปแบบ บนจอภาพสองมิติธรรมดา ซึ่งมันสามารถแสดงภาพสามมิติได้แม้บนพื้นผิวกระดาษในหน้าหนังสือทั่วไป
Cross eyes 3d ex.jpg

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

คราวนี้เรามาลองดูคลิปวิดีโอด้านล่างนี้กันบ้าง ซึ่งนี่คือหนึ่งวิธีการในการสร้างภาพวีดีโอสามมิติขึ้นมาบนหน้าจอสองมิติ เราจะเห็นภาพสองภาพที่เหมือนกันและวางอยู่ติดกัน วิธีการมองก็คือ ให้เรามองที่จุดสีดำด้านล่างของทั้งสองภาพ และพยายามทำให้ทั้งสองจุด รวมเข้ามาเป็นจุดเดียวกัน และเราก็จะเห็นความหัศจรรย์เกิดขึ้นด้านหน้าของเรา (มองนานเกินไป อาจจะปวดตาได้ และคนที่ไม่เคยดูภาพแบบนี้มาก่อนอาจจะต้องใช้เวลาฝึกฝนสักระยะนึง)

EDGE

EDGE คืออะไร
EDGE (เอดจ์) ย่อจาก Enhanced Data rates for Global Evolution เป็นระบบอินเทอร์เน็ตไร้สาย 2.75G ในเครือข่ายโทรศัพท์ คล้ายกับระบบ GPRS แต่มีความเร็วที่สูงกว่าคือที่ประมาณ 300 KB ในปัจจุบันมีทุกพื้นที่ของประเทศ

EDGE คือวิธีการสื่อสารระบบสู่โลกอินเทอร์เน็ต โดย EDGE (Enhanced Data Rate for Global Evolution) เป็นเทคโนโลยีตามมาตรฐานโลกที่กำหนดโดย ITU (International Telecommunications Union) จะมีความเร็วมากกว่า GPRS ถึง 4 เท่า โดยมีความเร็วอยู่ในระดับ 200-300 Kbps

EDGE คือเทคโนโลยีในการรับ – ส่งข้อมูลด้วยเครือ ข่ายไร้สาย โดยมีความเร็วในการรับส่งข้อมูลที่ความเร็ว 236 Kbps ซึ่งสูงกว่าการส่งด้วยเครือข่าย GPRS ถึง 4 เท่า ช่วยให้คุณได้รับประโยชน์จากการส่ง – รับข้อมูล (Applications/Contents) บนโทรศัพท์ มือถือได้มากกว่าและรวดเร็วกว่า ทั้งการเข้า WAP และ WEB รับส่ง MMS, Video/Audio Streaming และ Interactive Gaming และเป็นก้าวสำคัญเพื่อการก้าวเข้าสู่ ยุค 3G

GPS

ระบบกำหนดตำแหน่งบนพื้นโลกผ่านดาวเทียม Globle Positioning System โดยพิกัดบนพื้นโลกที่ได้ จะมาจากการคำนวณสัญญาณนาฬิกาที่ส่งจากดาวเทียม มาที่เครื่องรับสัญญาณGPS ส่วนดาวเทียมที่ใช้สำหรับระบบ GPS ที่สามารถใช้ระบุตำแหน่งได้นั้น จะถูกออกแบบมาโดยเฉพาะให้โครจรอบโลก เพื่อส่งข้อมูลที่จะนำไปใช้คำนวณพิกัดออกมาตลอดเวลา การสะท้อนกลับของคลื่นไมโครเวฟ ระหว่างดาวเทียมและพื้นผิวโลก แน่นอนเมื่อเรารู้ตำแหน่งบนพื้นโลก เราก็สามารถระบุตำแหน่งของดาวเทียมบนอวกาศได้ ดังนั้นในทางกลับกันดาวเทียมก็สามารถระบุตำแหน่งต่างๆ บนพื้นโลกได้เช่นกัน เมื่อมันโคจรผ่านตำแหน่งนั้น

ระบบGPSจะทำงานได้นั้น ต้องประกอบไปด้วย 3 ส่วนหลักๆคือ

1. ส่วนอวกาศ หรือดาวเทียม GPS : จะมีดาวเทียมที่ใช้ดังนี้

– NAVSTAR : จากของประเทศอเมริกา มีดาวเทียมทั้งหมด 28 ดวง จะใช้จริงแค่ 24 ดวง ไว้สำรอง 4 ดวง รัศมีวงโคจร12,600 ไมล์ โคจรอบโลกที่ความเร็ว 12ชั่วโมงต่อ 1 รอบ
– Galileo : ถูกพัฒนาโดย ESA หรือ European Satellite Agency ร่วมกับประเทศจีน อิสราเอล อินเดีย โมร็อกโก ซาอุดิอาระเบีย เกาหลีใต้ และยูเครน รวมจำนวน 27 ดวง
– GLONASS : (GLObal NAvigation Satellite System) ที่พัฒนาโดยรัสเซีย
– Beidou : เป็นดาวเทียม GPS ที่กำลังพัฒนาโดยประเทศจีน

สถานีควบคุมดาวเทียมในสหรัฐ2. ส่วนภาคพื้นดิน :ทำหน้าที่คอยดูแลและควบคุมการทำงานของดาวเทียม รวมถึงวงโคจรของดาวเทียม และให้ค่าสัญญาณนาฬิกาที่ถูกต้อง กับดาวเทียม GPS

3. ส่วนผู้ใช้งานหรือครื่องรับสัญญาณ GPS : ผู้ใช้งานสามารถรับสัญญาณ GPS ได้จากอุปกรณ์หลายๆอย่าง เช่น โทรศัพท์มือถือที่รับสัญญาณ GPS ได้, GPS Receiver (ต่อกับ computer, มือถือ) หรือ เครื่อง PNA (Personal Navigation Assistant) หรือเรียกง่ายๆว่า GPS Navigator, GPS ติดรถ หรือ Car GPS

อธิบายแบบง่าย ๆ พร้อมรูปประกอบเพื่อความเข้าใจ คลิกได้เลย

จีพีเอสที่เราใช้อยู่หรือที่จะเลือกซื้อจะเลือกอย่างไรดี

จีพีเอสเป็นเครื่องมือที่อาศัย 2 ส่วนประกอบกัน คือฮาร์ดแวร์ และ ซอฟแวร์ การเลือกซื้อก็ไม่ยากมาก คือถ้าจำเป็นใช้ฟังก์ชั่นแค่ไหนก็ซื้อมาแค่นั้นไม่ต้องซื้อเผื่อมากเพราะยิ่งฟังก์ชั่นมากก็ยิ่งราคาแพงด้วย บางคนเอารุ่นท็อปของยี่ห้อนั้น ๆ แต่ใช้แค่ดูแผนที่หรือให้แค่นำทาง ส่วนทีวี หรือ mp3 และอื่น ๆ ที่ติดมาให้ไม่เคยได้ใช้แต่ผู้ขายบอกว่ามีทุกอย่างก็เอาซะหน่อย เปลืองเปล่า ๆ ไม่ได้มีประโยชน์อะไรเลย ถ้าจะมาดูในรายละเอียดแบบด้านลึกเรามาพิจารณาต่อไปคือในด้าน ฮาร์ดแวร์ เริ่มจาก CPU เป็นอันดับแรกๆที่ผู้ใช้ควรดูซึ่งหลักง่ายๆคือ ยิ่ง CPU เยอะก็ยิ่งดี เหมือนคอมพิวเตอร์ที่ CPU สูงกว่าก็สามารถประมวลผลและได้เร็วกว่า ต่อจากนั้นดูที่ Chipset สำหรับปัจจุบัน GPS มีการใช้ Chipset รับสัญญาณจากค่าย SiRF และ MTK เป็นหลัก อันนี้อยู่ที่ความชอบของผู้ใช้เพราะว่าทั้ง 2 ค่ายมีความสามารถใกล้เคียงกัน ต่อมาให้ดูที่ Flash หรือเรียกกันว่า Memory ก็เหมือนกับกล้องถ่ายรูปหรือโทรศัพท์นั้นเองคือถ้าต้องการเก็บขอมูลมากๆ เช่น ซอฟแวร์แผนที่ ภาพ วิดีโอ หรือ เพลง ก็ต้องเลือกความจุที่มากหน่อยโดยเริ่มจากความจุ 128Mb จนถึง 4Gb กันเลยทีเดียว อนาคตคงจะมเพิ่มมากขึ้นเรื่อยๆเหมือนเครื่องโทรศัพท์ และเครื่องเล่น MP4 และที่สำคัญอีกตัวก็คือ Ram ยิ่งมีค่าตัวเลขมากก็ยิ่งดี สมัยนี้มีการใส่ Ram ในตัวเครื่องตั้งแต่ 64 Mb ขึ้นไปแรมที่เยอะกว่าก็จะมีข้อได้เปรียบเช่นในการคำนวณเส้นทางที่ไกล Ram ยังมีอยู่ 2 ลักษณะเหมือนคอมพิวเตอร์คือ SD และ DDR ซึ่ง Ram ทึ่ควรเลือกใช้ควรเป็นแบบ DDR สามารถรับส่งข้อมูลได้เร็วกว่า SD ผู้ซื้อต้องระวังผู้ขายบางเจ้าที่ไม่รู้จริงหรืออ้างว่าใช้ Ram ที่มากแต่ความจริงเป็นRamแบบ SD Ram ซึ่งความเร็วในการทำงานจะเป็นเพียงครึ่งเดียวของRamแบบ DDR เช่น Ram128SD จะช้ากว่า Ram64DDR ในส่วนของซอฟแวร์ ก็คือโปรแกรมที่แสดงการใช้งานหน้าจอและเป็นระบบของเครื่อง ก็ขึ้นอยู่กับการใช้งานของเราอีกเหมือนเดิม ชอบแบบไหนเอาแบบนั้น แต่ขอสำคัญคือเลือกที่สามารถอัพเกรดซอฟแวร์ให้ทันสมัยได้เสมอ ข้อควรระวังเครื่องที่เป็นของมาจากประเทศจีนเดี๋ยวนี้มีราคาถูก แต่บางทีไม่สามารถอัพเกรดซอฟแวร์ได้หรืออัพได้แต่หาโปรแกรมอัพไม่ได้ พอบางทีอัพแล้วใช้ไม่ได้ บอกได้คำเดียวเลยว่าเสียตังค์ฟรีทันที แต่บางเครื่องถ้าใช้ได้ทุกฟังก์ชันก็ถือว่าได้ของดีราคาถูกครับ

การเขียนโปรแกรมเชิงวัตถุ

การเขียนโปรแกรมเชิงวัตถุ (อังกฤษ: Object-oriented programming, OOP) คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป
แนวคิดการเขียนโปรแกรมแบบดังเดิมมักนิยมใช้ การเขียนโปรแกรมเชิงกระบวนการ (Procedural Programming) ซึ่งให้ความสำคัญกับขั้นตอนกระบวนการที่ทำ โดยแบ่งโปรแกรมออกเป็นส่วนๆตามลำดับขั้นตอนการทำงาน แต่แนวคิดการเขียนโปรแกรมเชิงวัตถุนั้นให้ความสำคัญกับ ข้อมูล(data) และ พฤติกรรม(behavior) ของวัตถุ และความสัมพันธ์กันระหว่างวัตถุกันมากกว่า
เนื้อหา [ซ่อน]
1 เปรียบเทียบแนวคิดระหว่างการเขียนโปรแกรมเชิงกระบวนการ และเชิงวัตถุ
1.1 วิธีการคิดแบบการเขียนโปรแกรมเชิงกระบวนการ
1.2 วิธีการคิดแบบการเขียนโปรแกรมเชิงวัตถุ
2 แนวทางการออกแบบและแก้ปัญหา
2.1 ดีไซน์แพตเทิร์น – แบบแผนและแนวทางการออกแบบ ดีไซน์
2.2 การเขียนโปรแกรมเชิงวัตถุและฐานข้อมูล
2.3 โปรแกรมเชิงวัตถุและการเทียบเคียงกับโลกของความเป็นจริง
3 ตัวอย่างภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ
4 แหล่งข้อมูลอื่น
เปรียบเทียบแนวคิดระหว่างการเขียนโปรแกรมเชิงกระบวนการ และเชิงวัตถุ[แก้]

ตัวอย่างตู้ขายเครื่องดื่มอัตโนมัติ
วิธีการคิดแบบการเขียนโปรแกรมเชิงกระบวนการ[แก้]
เมื่อมีการหยอดเหรียญเข้าตู้
ตรวจสอบจำนวนเหรียญและชนิดของเหรียญ
แสดงผลชนิดของน้ำที่สามารถเลือกซื้อได้
ตรวจสอบจำนวนน้ำกระป๋องที่มีอยู่ในตู้
รับผลการเลือกชนิดน้ำ
ส่งน้ำที่เลือกออกมาจากช่อง
จัดเก็บเงินเข้าระบบ
หากมีเงินทอน ให้ทอนเงินที่เหลือ ที่ช่องรับเงินทอน
วิธีการคิดแบบการเขียนโปรแกรมเชิงวัตถุ[แก้]
ตู้ขายเครื่องดื่มอัตโนมัติ ประกอบด้วยส่วนประกอบต่างๆได้แก่ หน่วยตรวจสอบและจัดการเรื่องเงิน หน่วยจัดการเครื่องดื่ม หน่วยแสดงผลและรอรับคำสั่ง
– หน่วยตรวจสอบและจัดการเรื่องเงิน มีข้อมูลเกี่ยวกับเงินที่ได้รับ และเงินที่มีอยู่ในระบบ สามารถรับและตรวจสอบเงินที่หยอดเข้ามาได้ และถอนเงินได้
– หน่วยจัดการเครื่องดื่ม มีข้อมูลชนิดของเครื่องดื่ม จำนวนเครื่องดื่ม สามารถจัดเตรียมชนิดเครื่องดื่มที่พอกับเงินที่หยอด และสามารถจ่ายเครื่องดื่มออกมาจากตู้ได้
– หน่วยแสดงผลและรอรับคำสั่ง มีหน้าที่รอรับคำสั่ง และแสดงผลเงินที่หยอดเข้ามา
หมายเหตุ ตัวอย่างนี้เป็นเพียงตัวอย่างโดยสังเขป

แนวทางการออกแบบและแก้ปัญหา[แก้]

ความท้าทายในการออกแบบและพัฒนาโปรแกรมเชิงวัตถุมีหลายด้าน โดยแนวทางดังต่อไปนี้ เป็นแนวทางที่ได้รับการยอมรับอย่างกว้างขวางในการใช้เพื่อแก้ไขปัญหา
ดีไซน์แพตเทิร์น – แบบแผนและแนวทางการออกแบบ ดีไซน์[แก้]
ในการออกแบบและการพัฒนาโปรแกรมเชิงวัตถุ ได้มีการรวบรวมบันทึกวิธีการแก้ปัญหาที่ใช้ได้ผลสำหรับปัญหาที่เกิดขึ้นซ้ำๆ เสมอๆ วิธีการแก้ไขเหล่านี้สามารถนำมาใช้ได้บ่อยๆ ในสถานการณ์ที่หลากหลาย บันทึกรวบรวมนี้มีชื่อเรียกเฉพาะว่า ดีไซน์แพตเทิร์น (Design Patterns)
Design Patterns ซึ่งเป็นหนังสือที่ออกจัดจำหน่ายเมื่อปี 2538 โดยผู้แต่งร่วม 4 คนได้แก่ Erich Gamma, Richard Helm, Ralph Johnson และ John Vlissides หรือที่รู้จักในนามของ GoF (Gang of four) ถือว่าเป็น แบบแผนและแนวทางการออกแบบ ที่ได้รับความนิยมและเป็นที่รู้จักอย่างกว้างขวางในการนำมาประยุกต์ใช้งานจริง
การเขียนโปรแกรมเชิงวัตถุและฐานข้อมูล[แก้]
การเขียนโปรแกรมเชิงวัตถุและระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management Systems) ได้ถูกใช้งานร่วมกันอย่างแพร่หลายในปัจจุบัน แต่เนื่องจากฐานข้อมูลเชิงสัมพันธ์ไม่สามารถเก็บข้อมูลเชิงวัตถุได้โดยตรง จึงมีความจำเป็นที่จะต้องเชื่อมต่อเทคโนโลยีทั้งสองเข้าด้วยกัน การแก้ปัญหาสองแบบที่ได้รับความนิยมแพร่หลายคือการใช้ตัวส่งระหว่างโมเดลเชิงวัตถุและเชิงสัมพันธ์ (Object-Relational Mapping: ORM)
อีกวิธีการคือการใช้งานระบบจัดการฐานข้อมูลเชิงวัตถุ (Object-Relational Database Management Systems) แทนที่ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ แต่วิธีการนี้ก็ยังไม่ได้รับความนิยมมากนัก
โปรแกรมเชิงวัตถุและการเทียบเคียงกับโลกของความเป็นจริง[แก้]
การเขียนโปรแกรมเชิงวัตถุสามารถนำมาใช้จำลองการทำงานตามโลกของความเป็นจริงได้ แต่ไม่ได้เป็นที่นิยมนักเนื่องจากมีนักวิชาการจำนวนหนึ่งที่ไม่เห็นด้วยและมองว่าไม่ใช่วิธีการที่ถูกต้อง
ปัจจุบันวิธีการมาตรฐานที่ใช้ในการเทียบเคียงกับโลกของความเป็นจริง ตามแนวทางของคณิตศาสตร์คือ Circle-ellipse problem ซึ่งก็ถูกต้องบางส่วน แต่แนวคิดการสร้างยังคงต้องให้สอดคล้องกับความเป็นจริงของพื้นฐานธรรมชาติที่เป็นไปได้ผนวกกับคณิตศาสตร์ด้วย เพื่อให้เกิดสมดุล