Computer Graphics : 4122603


องค์ประกอบของกราฟิกส์
เมื่อเราพิมพ์ภาพกราฟิกที่สร้างขึ้น มันไม่จำเป็นนักที่จะต้องให้ภาพนั้นปรากฏทันทีบนกระดาษ กราฟิกแบบนี้เรียกว่า กราฟิกแบบสถิต (Static Graphics) แต่ถ้าเป็นการเล่นวิดีโอเกม ถ้าเวลาในการตอบสนองมากกว่า 1/10 วินาที หลังจากการเคลื่อนที่ของจอยสติ๊กก็อาจจะไม่เป็นที่ยอมรับได้ เนื่องจากในการเล่นนี้เราต้องการการตอบสนองแบบทันทีทันใด ภาพกราฟิซึ่งมีการเปลี่ยนแปลงตลอดเวลาแบบนี้จะต้องเปลี่ยนแปลงได้เร็วพอที่ผู้ใช้จะสามารถควบคุมภาพได้ ระบบแบบนี้เรียกว่า ระบบกราฟิกแบบอินเตอร์แอกทีฟ (Interactive Graphics System) สำหรับระบบแบบนี้ต้องการฮาร์แวร์ที่พิเศษซึ่งจะจัดการเฉพาะในเรื่องที่เกี่ยวกับการแสดงภาพและการตอบสนองผู้ใช้ ยิ่งภาพที่มีความซับซ้อนเหมือนจริงมากขึ้นเท่าใด การที่จะทำให้ภาพมีการเปลี่ยนแปลงอย่างรวดเร็วก็ทำได้ยากยิ่งขึ้นเท่านั้น
ระบบกราฟิกแบบอินเตอร์แอกทีฟ โดยทั่วไปจะประกอบด้วยส่วนสำคัญ 4 ส่วน คือ คอมพิวเตอร์, จอภาพสำหรับการแสดงภาพ, อุปกรณ์รับคำสั่งและข้อมูลจากผู้ใช้และอุปกรณ์สำหรับการพิมพ์ภาพ ซึ่งต่อไปจะได้กล่าวถึงรายละเอียดของส่วนประกอบแต่ละส่วน
จอภาพ(Monitor)
จอภาพส่วนมากที่ใช้กันจะเป็นจอภาพชนิดเดียวกันกับจอภาพของโทรทัศน์ซึ่งเรียกกันว่า CRT (Cathrod Ray Tube) แสดงส่วนประกอบสำคัญของ CRT ซึ่งได้แก่ ปืนอิเล็กตรอน (Electron Gun) ซึ่งเมื่อร้อนจะปล่อยประจุลบออกมา ประจุลบเหล่านี้จะวิ่งไปหาประจุบวก ซึ่งอยู่ที่จอภาพที่ฉาบด้วยสารฟอสเฟอร์ ระหว่างที่ประจุลบวิ่งไปนั้นจะต้องผ่านระบบปรับโฟกัส และระบบเบี่ยงเบนประจุซึ่งเป็นตัวบังคับให้ประจุลบวิ่งไปกระทบจอในตำแหน่งที่ต้องการได้ ระบบปรับโฟกัสจะใช้สำหรับลำประจุลบเพื่อเวลาที่ประจุลบกระทบกับจอภาพแล้ว จะทำให้เกินจุดสว่างเล็กๆ บนจอภาพ ส่วนระบบเบี่ยงเบนประจุจะประกอบด้วยแผ่นโลหะ 2 ชุด (สำหรับการเบี่ยงเบนในแนวนอนและการเบื่ยงเบนในแนวดิ่ง) ใช้สำหรับปรับทิศทางการวิ่งของประจุลบเพื่อให้กระทบที่ตำแหน่งต่างๆ ทุกตำแหน่งของจอภาพได้
เมื่อประจุลบนี้วิ่งกระทบจอภาพ สารฟอสเฟอร์ที่ฉาบอยู่บนจอภาพก็จะเปล่งแสงที่ตาคนมองเห็นได้ออกมา ความเข้มของแสงจะขึ้นอยู่กับจำนวนประจุลบที่วิ่งมาชน ส่วนที่เป็นสีดำบนจอภาพนั้นก็คือส่วนที่ไม่มีประจุลบหรือมีน้อยมากวิ่งไปชน แสงที่เกิดขึ้นบนจอภาพจะคงอยู่ได้ชั่วระยะเวลาเพียงเศษเสี้ยวของวินาทีเท่านั้น ดังนั้นเพื่อให้เราสามารถเห็นภาพได้ต่อเนื่องโดยไม่เกิดการกะพริบจะต้องมีการยิงประจุลบซ้ำที่เดิมนี้หลายครั้งใน 1 วินาที เราจะเรียกจอภาพประเภทนี้ว่า รีเฟรชซีอาร์ที (Refresh CRT) จอภาพประเภทนี้ยังแบ่งออกเป็น 2 แบบ แรสเตอร์สแกน (Raster Scan) และแบบ แรนดอมเวกเตอร์ (Random Vector) ถึงแม้ว่าจะมีการใช้งานจอภาพทั้งสองแบบ แต่โดยทั่วไปแล้วมักจะใช้จอภาพแบบแรสเตอร์สแกนมากกว่า เนื่องจากเป็นจอภาพที่เราสามารถจัดการเกี่ยวกับการให้สีและแสงเงาได้ง่ายกว่าจอภาพแบบแรนดอมเวกเตอร์
สำหรับจอภาพสีก็ใช้หลอดภาพ CRT เช่นกัน แต่มีส่วนประกอบเพิ่มเติม กล่าวคือ จะมีปืนอิเล็กตรอน 3 ชุด สำหรับแม่สีแสงคือ สีแดง สีเขียว และสีน้ำเงิน บนจอภาพจะฉาบด้วยสารฟอสเฟอร์สามสีต่อหนึ่งจุด ซึ่งจัดวางเป็นรูปสามเหลี่ยม และจะมีระบบควบคุมอื่นๆ เพื่อจัดการให้จอภาพสามารถแสดงสีต่างๆ ได้ตามต้องการ
  จอภาพแบบแรสเตอร์สแกน
  จอภาพที่ใช้กับไมโครคอมพิวเตอร์โดยทั่วไปจะเป็นจอภาพแบบแรสเตอร์สแกน ซึ่งแบ่งจอภาพออกเป็นจุดเล็กๆ จำนวนมาก จุดเหล่านี้จะเป็นส่วนประกอบของภาพที่เล็กที่สุดเรียกว่า พิกเซล (Pixels หรือ Picture Elements) จุดเหล่านี้จะจัดเรียงกันเป็นแบบตะแกรง โดยที่จุดตัดของเส้นตามแนวนอนกับเส้นตามแนวดิ่งก็คือหนึ่งจุดนั้นเอง เส้นตามแนวนอนจะเรียกว่า เส้นแรสเตอร์สแกน (Raster - Scan Lines) ดังนั้นจอภาพแบบนี้จึงเรียกว่าจอภาพแบบแรสเตอร์สแกนด้วย คุณภาพของจอภาพแบบแรสเตอร์สแกนอธิบายได้โดยความละเอียดของจอภาพ (Resolution) ซึ่งก็คือจำนวนพิกเซลในหนึ่งเส้นสแกน (Scan Line) กับจำนวนเส้นสแกนที่มีบนจอภาพทั้งหมด ยิ่งความละเอียดของจอภาพมีมากเท่าใดก็ยิ่งแสดงภาพได้ละเอียดมากขึ้นเท่านั้น สำหรับจอภาพที่มีความละเอียดต่ำ (Low-Resolution) จะมีเส้นสแกนประมาณ 300 เส้น แต่ละเส้นสแกนจะมีพิกเซลประมาณ 400 พิกเซล ส่วนจอภาพที่มีความละเอียดสูง (High-Resolution) จะมีเส้นสแกนอย่างต่ำ 1,000 เส้น และแต่ละเส้นจะมีพิกเซลมากกว่า 1,000 พิกเซล การยิงประจุลบไปยังจอภาพเพื่อให้เกิดเป็นจุดสว่างนั้นจะมีรูปแบบการทำงานที่แน่นอน คือจุดสว่างจะเริ่มเกิดที่มุมบนซ้ายของจอภาพก่อนเพราะจะมีการยิงประจุลบที่ตำแหน่งนี้เป็นตำแหน่งเริ่มต้นเสมอ จากนั้นก็จะยิงประจุลบไปตามแนวของเส้นสแกนจากซ้ายไปขวาจนกระทั่งถึงจุดขวาสุด และจะทำเช่นนี้ไปจนกว่าจะถึงจุดที่อยู่ที่ตำแหน่งมุมล่างขวาของจอภาพ ซึ่งอยู่บนเส้นสแกนเส้นสุดท้ายแล้วก็จะกลับไปเริ่มกระบวนการยิงประจุลบใหม่ตามรูปเดิม ซึ่งจะกระทำเช่นนี้หลายครั้งใน 1 วินาที จำนวนครั้งที่มีการยิงประจุลบได้ครบรอบดังกล่าวมาแล้วในช่วงเวลา 1 วินาที จะเรียกว่า อัตรารีเฟรช (Refresh Rate) สำหรับส่วนกลับของอัตรารีเฟรช ซึ่งก็คือเวลาที่ใช้ในการแสดงภาพหนึ่งจอภาพจะเรียกว่า เวลาเฟรม (Frame Time) ถึงแม้ว่าพิกเซลที่เกิดขึ้นจะมีการจางหายไปตลอดเวลา แต่คนเราไม่สามารถมองเห็นการเปลี่ยนแปลงนี้ได้ เนื่องจากอัตรารีเฟรชมีค่ามากเพียงพอจึงทำให้คนเราเห็นภาพได้อย่างต่อเนื่อง ระบบจอภาพที่มีราคาไม่แพงนั้นมักจะมีอัตรารีเฟรชเท่ากับ 30 ครั้งต่อวินาที สำหรับรูปแบบการทำงานเพื่อสร้างเส้นสแกนนั้นจะไม่ทำตามลำดับเส้นที่ 1, เส้นที่ 2,.... ดังคำอธิบายข้างตัน เพราะว่าถ้าทำเช่นนั้นจะทำให้จอภาพเกิดการกะพริบเนื่องจากอัตรารีเฟรชต่ำ เส้นสแกนช่วงบนของจอภาพกำลังจะจางหายไป การมาสร้างเส้นสแกนทับเส้นเดิมก็ช้าไปเล็กน้อยทำให้เรารู้สึกว่าภาพหายและจะทำให้เราเห็นว่าจอภาพกะพริบ การแก้ปัญหาทำได้โดยการเปลี่ยนรูปแบบการสร้างเส้นสแกนไปเล็กน้อย กล่าวคือ แทนที่จะสร้างทีละเส้นตามลำดับก็ให้แบ่งเป็น 2 ขั้นตอนขั้นตอนแรกให้สร้างเส้นสแกนที่เป็นเลขคี่คือเส้นที่ 1, เส้นที่ 3, เส้นที่ 5, ... ก่อนแล้วค่อยมาสร้างเส้นสแกนที่เป็นเลขคู่ก็ยังคงอยู่ ทำให้เรารู้สึกว่าภาพยังไม่ได้จากหายไปนั่นคือไม่เกิดการกะพริบ สำหรับบนจอภาพที่มีราคาแพงขึ้น คุณภาพดีขึ้น จะไม่ใช้วิธีนี้ แต่จะมีอัตรารีเฟรชสูงขึ้น เช่น 60 ครั้งต่อวินาที เป็นต้น
เฟรมบัฟเฟอร์
์ พิกเซลหรือจุดแต่ละจุดที่ปรากฏอยู่บนจอภาพจะสอดคล้องกับค่าบิต (Bit) ที่อยู่ในหน่วยความจำส่วนหนึ่ง ซึ่งเราเรียกหน่วยความจำส่วนนี้ว่าเฟรมบัฟเฟอร์ หรือบิตแมป (Bit Map) บิตเหล่านี้จะถูกเก็บไว้ในลักษณะตาราง หน่วยความจำที่ใช้เป็นเฟรมบัฟเฟอร์ในระบบกราฟิกปัจจุบันมักจะแยกออกจากหน่วยความจำหลักของเครื่องคอมพิวเตอร์เพื่อที่จะ ทำให้สามารถแสดงภาพออกทางจอภาพได้อย่างรวดเร็วมากขึ้น จำนวนแถวของเฟรมบัฟเฟอร์จะเท่ากับจำนวนเส้นแรสเตอร์ที่จอภาพแสดงได้ และจำนวนหลักของเฟรมบัฟเฟอร์จะเท่ากับจำนวนพิกเซลที่มีได้ในเส้นแรสเตอร์แต่ละเส้น การบอกขนาดของหน่วยความจำที่ใช้เป็นเฟรมบัฟเฟอร์ อาจจะบอกในรูปของจำนวนพิกเซลที่สามารถแสดงบนจอภาพ หรืออาจจะบอกในรูปจำนวนพิกเซลในหลักคูณจำนวนพิกเซลในแถวก็ได้ เมื่อมีการใส่บิต 1 ลงในเฟรมบัฟเฟอร์ตรงตำแหน่งใดก็ตาม จะเกิดเป็นจุดสว่างบนจอภาพตรงตำแหน่งที่สอดคล้องกับเฟรมบัฟเฟอร์ แต่ละตำแหน่งพิกเซลบนจอภาพและตำแหน่งในหน่วยความจำที่สอดคล้องกันในเฟรมบัฟเฟอร์จะถูกอ้างถึงได้โดยใช้คู่ลำดับ (X,Y) โดยที่ X จะแทนค่าตำแหน่งของหลัก ส่วน Y แทนตำแหน่งของแถว จุด (0,0) ของระบบพิกัดนี้จะอยู่ที่มุมบนซ้ายของจอภาพ ข้อมูลในเฟรมบัฟเฟอร์ซึ่งใช้แทนพิกเซลแต่ละจุดนั้นจะประกอบด้วยบิตจำนวนหนึ่ง สำหรับจอภาพขาวดำซึ่งมีความเข้มเพียง 2 ระดับ ข้อมูลในเฟรมบัฟเฟอร์จะมีเพียง 1 บิต (1-Bit-Plane Frame Buffer) ก็พอ ซึ่งต่างกับจอภาพแบบสีหรือภาพแบบขาวดำที่มีความเข้มหลายระดับข้อมูลสำหรับ 1 พิกเซล จะต้องมีมากกว่า 1 บิต เช่นถ้าเฟรมบัฟเฟอร์ที่ใช้ 3 บิต นั่นคือ ใน 1 พิกเซลจะมีค่าใช้แทนพิกเซลนี้ได้ 8 ค่า (23) ซึ่งแต่ละค่จะแทนความเข้ม 1 ระดับ รวมทั้งหมดก็แทนได้ 8 ระดับ จากระดับ 0 ถึงระดับ 23-1 = 7 สำหรับโทรทัศน์ขาวดำถ้าใช้ข้อมูล 8 บิตสำหรับ 1 พิกเซลก็จะสามารถแสดงระดับความเข้มได้ถึง 28 หรือ 256 ระดับและสำหรับระบบจอภาพสีต้องการข้อมูล 24 บิต (24 -Bit-Plane Frame Buffer) โดยที่จะใช้ 8 บิตสำหรับแต่ละแม่สีคือ แดง เขียว และน้ำเงิน ซึ่งตามทฤษฎีจะสร้างสีได้ถึง 224 ซึ่งเท่ากับ 16,777,216 สี สำรหับจอภาพที่มีความละเอียด 512x512 พร้อมทั้งมีสีได้ครบเต็มที่ จะต้องใช้หน่วยความจำถึง 512x512x24 = 6,291,456 บิต ซึ่งหน่วยความจำของไมโครคอมพิวเตอร์ราคาต่ำๆ ไม่สามารถมีหน่วยความจำขนาดนี้ได้ ดังนั้นข้อมูลต่อ 1 พิกเซลจึงมีแค่เพียง 1 ถึง 4 บิตเท่านั้น
ตัวควบคุมการแสดงภาพ
  ส่วนที่ 2 ของหน่วยการแสดงภาพคือ ตัวควบคุมการแสดงภาพ ฮาร์ดแวร์ส่วนนี้จะอ่านค่าที่อยู่ในเฟรมบัฟเฟอร์ไปไว้ในวีดีโอบัฟเฟอร์ (Video Buffer) ซึ่งจะเปลี่ยนค่าบิตเหล่านี้ให้เป็นสัญญาณทางไฟฟ้า ซึ่งใช้สำหรับควบคุมการแสดงภาพบนจอภาพ ตัวอย่างเช่น ถ้าตัวควบคุมการแสดงภาพพบค่าบิต 1 ในเฟรมบัฟเฟอร์ที่มีข้อมูล 1 บิตต่อพิกเซล ก็จะเกิดการส่งสัญญาณแรงดันสูงไปให้ CRT ซึ่งจะจัดการให้เกิดจุดสว่างบนจอภาพในตำแหน่งที่สอดคล้องกับข้อมูลที่อยู่ในบัฟเฟอร์นั่นเอง
ตัวแปลงสัญญาณภาพเป็น Pixel
  วิธีการแปลงภาพให้เป็นตำแหน่งของพิกเซลที่เหมาะสมในเฟรมบัฟเฟอร์ ส่วนนี้เป็นวิธีการหรือกระบวนการที่ใช้ในการเปลี่ยนคำสั่ง หรือสมการทางกราฟิกให้เป็นค่าที่เหมาะสม ซึ่งสามารถใช้แทนภาพที่ได้จากสมการหรือคำสั่งนั้นได้แล้วเก็บลงเฟรมบัฟเฟอร์ สำหรับระบบกราฟิกแบบเรสเตอร์สแกนที่มีคุณภาพสูงจะมีการโปรเซสเซอร์จัดการการแสดงภาพโดยเฉพาะ ส่วนระบบกราฟิกที่เป็นไมโครคอมพิวเตอร์ราคาไม่แพงนัก จะใช้ CPU ของเครื่องกับโปรแกรมสำหรับจัดการงานต่างๆ ซึ่งทำให้การทำงานทำได้ช้ากว่ามาก ยากที่จะทำให้ระบบกราฟิกเป็นแบบอินเตอร์แอกทีฟได้ เนื่องจากในการเปลี่ยนแปลงภาพไปเพียงเล็กน้อยจะต้องมีการคำนวณมากมายตามมาเสมอ