Foundations of Computer Graphics –
Super Detailed Notes
Unit 1: Introduction
- **Graphics Systems**: Consist of input, processing, and output components that work
together to generate and manipulate graphical images.
- **Basic Elements of Computer Graphics**:
- Pixels, lines, curves, shapes, color
- Frame buffer, resolution, aspect ratio
- **Applications**:
- CAD, simulation, education, gaming, GUI, virtual reality
- **Display Device Architecture**:
- **Raster Scan**: Grid-based, refreshes line-by-line (used in TVs, monitors)
- **Random Scan**: Draws lines directly (vector displays)
- **Input/Output Devices**:
- Input: Mouse, keyboard, light pen, digitizer
- Output: Monitors, printers, plotters
Unit 2: Drawing and Clipping Primitives
- **Line Drawing**:
- **DDA Algorithm**: Uses floating point, slower
- **Bresenham’s Algorithm**: Integer arithmetic, more efficient
- **Circle Drawing**:
- **Midpoint Circle Algorithm**: Uses 8-way symmetry
- **Ellipse Drawing**:
- **Midpoint Ellipse Algorithm**: Based on region analysis and symmetry
- **Polygon Filling**:
- **Scanline Fill Algorithm**, **Boundary Fill**, **Flood Fill**
- **Clipping**:
- **Line Clipping**:
- Cohen–Sutherland Algorithm (region codes)
- Liang–Barsky (parameter-based)
- **Polygon Clipping**:
- Sutherland–Hodgman Algorithm
Unit 3: Transformation and Viewing
- **2D Transformations** (Matrix-based):
- Translation, Scaling, Rotation, Reflection, Shearing
- **Homogeneous Coordinates**: Allow combining transformations in matrix form
- **Composite Transformations**: Sequence of transformations combined into one
- **3D Transformations**:
- Translate, Scale, Rotate about X/Y/Z axes (4×4 matrices)
- **Viewing Transformations**:
- Parallel Projection: Orthographic
- Perspective Projection: Objects shrink with depth
- **Vanishing Points**:
- Points at which parallel lines converge in perspective
Unit 4: Geometric Modeling
- **Polygon Mesh Representation**:
- Vertices, edges, and faces forming 3D surfaces
- Types: Wireframe, surface, solid mesh
- **Cubic Polynomial Curves**:
- **Hermite Curves**:
- Defined by endpoints + tangents
- Uses Hermite blending functions or matrix form
- **Bezier Curves**:
- Defined by 4 control points
- Uses Bernstein polynomials for curve construction
Unit 5: Visible Surface Determination and Surface Rendering
- **Z-Buffer Algorithm**:
- Compares depth per pixel
- Stores nearest depth in Z-buffer
- **List-Priority Algorithm (Painter’s)**:
- Draw from farthest to nearest (like painting layers)
- **Area Subdivision Algorithm**:
- Divide screen, test visibility per region
- **Illumination and Shading Models**:
- **Phong Model**: Ambient + Diffuse + Specular
- **Gouraud Shading**: Vertex intensity interpolation
- **Phong Shading**: Interpolated normals, pixel-wise lighting
- **Color Model**:
- **RGB Model**: Combines Red, Green, Blue values
- **Basics of Computer Animation**:
- Keyframe animation, motion simulation, morphing, storyboarding