Computer Graphics
Comprehensive Core Concept Study Notes
1. Introduction to Computer Graphics & Rasterization
Computer graphics involves the generation, representation, and manipulation of images and visual data via
computers. A fundamental process is rasterization, which converts vector-based geometric primitives (points,
lines, polygons) into a raster format (pixels or dots) for display.
Bresenham's Line Drawing Algorithm
Bresenham's algorithm is an efficient scan-conversion method for lines that uses only integer addition,
subtraction, and bit shifting. For a line with slope 0 ≤ m ≤ 1, the decision parameter at step k is defined as:
pk = 2Δy · xk - 2Δx · yk + c
If pk < 0, the next pixel is (xk+1, yk) and pk+1 = pk + 2Δy. If pk ≥ 0, the next pixel is (xk+1, yk+1) and pk+1 = pk +
2Δy - 2Δx.
2. 2D & 3D Geometric Transformations
Transformations allow objects to be positioned, scaled, and oriented within a scene. Homogeneous
coordinates are utilized to represent translation, rotation, and scaling uniformly as matrix multiplications.
• Translation: Moving a point by t and t .
x y
• Scaling: Resizing an object by scaling factors s and s .
x y
• Rotation: Rotating a point around the origin by an angle θ.
Transformation Type 2D Homogeneous Matrix representation
Translation [ [1, 0, tx], [0, 1, ty], [0, 0, 1] ]
Scaling [ [sx, 0, 0], [0, sy, 0], [0, 0, 1] ]
Rotation (θ) [ [cosθ, -sinθ, 0], [sinθ, cosθ, 0], [0, 0, 1] ]
3. Viewing Pipeline & Clipping
The viewing pipeline transforms 3D world coordinates into a 2D screen space projection. Clipping is the
process of removing primitives outside the viewable window volume.
Computer Graphics — Study Notes 1
Cohen-Sutherland Line Clipping: Divides the 2D space into 9 regions using 4-bit outcodes (Top,
Bottom, Right, Left). Lines are trivially accepted if both endpoints have outcodes of 0000, and trivially
rejected if the bitwise logical AND of their outcodes is not 0000.
Computer Graphics — Study Notes 2