Please enable JavaScript.
Coggle requires JavaScript to display documents.
Computer Graphic - Coggle Diagram
Computer Graphic
1. Introduction
การนำไปใช้
- UI is the most useful for CG:!:
- Plotting & chart :bar_chart:
- Office autimation & publishing :printer:
- Drafting & Design :pencil2:
- Simulation & animation :silhouette:
- Commerce :shopping_bags:
- Process control - display on screen
- Map :world_map:
- Education :male-student:
- Image Processing :frame_with_picture:
ความหมาย
The use of computer to manipiulate (create, store, modify, represents) image
Graphic representation
- Raster / Bitmap - collection of pixels | .BMP | .TIF | .JPG
- require high resolution and anti-aliasing
- Scan Conversion convert frame buffer to image
- Vector - ใช้สมการทางคณิตศาสตร์วาด | .SVG | .PDF | .AI
ประเภทการใช้งานกราฟฟิก
- Non-interactive
- Interactive
Graphic Software
- General programming package - API, Library
- Special-purpose application package - Photoshop, Blender
2. Graphic Display
ประเภทของจอภาพ
- Cathode Ray Tube (CRT) - ใช้หลอดภาพ จอแบบเก่า
- Flat Panel - จอแบน
- Emissive Display / LED(Light Emitting Diodes) - convert electric to light
- Non-Emissive Display / LCD(Liquid Crystal Device) - แสงตกกระทบ
- Plasma-Panels / Gas-Discharge Display
วิธีการแสดงผล
- Raster Scan Display สแกน pixel จากซ้ายไปขวา
:check: Realistic, More colors, Shadow scenes :green_cross: Low resolution, Expensive
- Random Scan Display on CRT screen
:check: Smooth line drawings, High resolution :green_cross: cannot display realistic scenes
-
-
4. 2D Transformantion
Concept
- วัตถุประสงค์คือเพื่อให้ผู้ใช้มองเห็นจากมุมต่างๆ ได้ง่ายขึ้น :spiral_note_pad:
- การแปลง จะใช้คณิตศาสตร์ มี 2 ลักษณะ :!:
- การแปลงพิกัด เลื่อนฉาก
- การแปลงวัตถุ เลื่อนวัตถุ
Type of Transformation
- การย้าย
- การย่อขยาย
- การหมุน
- การสะท้อน...
-
การย่อขยาย Scaling
การคูณ
- การมองใกล้ มองไกล
- กินขอบจอได้เหมือนกัน
- การย่อขยาย เป็นการคูณค่าพิกัดของวัตถุด้วยค่า scaling factor(Sx, Sy) :!:
- Uniform scaling Sx \(=\) Sy ได้รูปทรงเดิม :!:
- Differential scaling Sx \(\neq\) Sy รูปทรงผิดเพี้ยน :!:
สูตร
\( (X, Y)ใหม่ = (X*Sx, Y*Sy) \)
- ถ้า Sx > 1 เป็นการขยายตามแกน X :!:
- ถ้า Sy > 1 เป็นการขยายตามแกน Y :!:
glScalef(Glfloat sx, Glfloat sy, Glfloat sz)
-
การหมุน Rotation
การคูณ
- การเปลี่ยตำแหน่งวัตถุตามแนวเส้นโค้งบนระนาบ ขนาดวัตถุคงเดิม ระยะห่างวัตถุกับจุดหมุนจะคงที่เสมอ :spiral_note_pad:
- พารามิเตอร์ ที่ต้องกำหนด
- จุดหมุน จุดที่อยู่ภายใน/นอกวัตถุ
- มุมในการหมุม θ
การหมุน เมื่อจุดหมุนอยู่ที่พิกัดกำเนิด(0,0) :!:
- Rotation factor
- θ เป็น - ทวนเข็มนาฬิกา
- θ เป็น + ตามเข็มนาฬิกา
:!:
-
-
-
การหมุนวัตถุใดๆ
- การหมุนวัตถุ ทุกจุดของวัตถุจะหมุนไปในมุมเดียวกัน
- เส้นโค้งจะหมุนโดยปรับตำแน่งทุกจุดและวาดเส้นโค้งที่ตำแหน่งใหม่
- วงกลม ปรับตำแหน่งจุดศูนย์กลาง แล้ววาดใหม่