ใน OpenGl มี Transformation 5 แบบคือ
Transformation | การใช้งาน |
Viewing | ใช้เซ็ตตำแหน่งกล้องหรือตา |
Modeling | ใช้กับตำแหน่งของวัตถุ |
ModelView | อธิบายความสัมพันธ์ระหว่า View กับ Model |
Projection | กำหนด Viewing Volume |
Viewport | Scales ภาพบนก่อนฉายบนจอ |
สามารถแสดงเป็นขั้นตอนดังนี้
Eye Coordinate คือ ไม่ใช่ Coordinateจริงๆ แต่เอาไว้อ้างอิงเพื่อสร้างภาพขึ้นมา โดยการเคลื่อนย้ายวัตถุแต่ละอย่างก็เช่นจะทำการหมุน ก็จะใช้ Eye Coordinate ตัวนี้แหละเป็นตัวอ้างอิง
ภาพการหมุน 45องศาโดยอ้างอิงจากeye coordinate
Viewing Transformation คือ Transformation แรกของ OpenGl ทำหน้าที่ย้ายจุดจาก Coordinate ที่ใช้อยู่ อ้างอิงกับแกนของ Eye Coordinate
Modeling Transformations ใช้สร้าง Model ทำการย่อขยาย เลื่อน หมุน
Projection Transformations ใช้สร้างภาพบนจอจาก Model หรือการแปลงจาก 3 มิติ ให้เหลือ 2 มิติ มีแบบ Orthographic และแบบ Perspective ซึ่งใน Thesis จะใช้แบบ Perspective เท่านั้น คือภาพจะใหญ่เมื่อใกล้ตา และจะเล็กเมื่ออยู่ไกลตา เราควบคุมเมตริซ์นี้โดยการกำหนด Viewing Volume
Viewport Transformations ใช้ย่อขยายปรับ aspect ratio ของภาพ 2 มิติ ให้เหมาะสมกับขนาดของ Windows ที่แสดงผล จะmap ระหว่าง logical กับจอภาพที่เป็น Physical