Browse papers
A

Section A: Long Answer Questions

Attempt any TWO questions.

3 questions·10 marks each
1long10 marks

What is 2D geometric transformation? Explain translation, rotation and scaling with their transformation matrices in homogeneous coordinates.

2D Geometric Transformation

A 2D geometric transformation is an operation that changes the position, orientation, or size of an object in the 2D plane by mapping each point (x,y)(x, y) to a new point (x,y)(x', y'). The basic transformations are translation, rotation and scaling.

Using homogeneous coordinates, a point (x,y)(x, y) is written as (x,y,1)(x, y, 1) so that all three transformations can be expressed as a single 3×33 \times 3 matrix multiplication and composed easily.

1. Translation

Moves an object by displacement (tx,ty)(t_x, t_y):

x=x+tx,y=y+tyx' = x + t_x, \qquad y' = y + t_y [xy1]=[10tx01ty001][xy1]\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

2. Rotation

Rotation by angle θ\theta (anticlockwise) about the origin:

x=xcosθysinθ,y=xsinθ+ycosθx' = x\cos\theta - y\sin\theta, \qquad y' = x\sin\theta + y\cos\theta [xy1]=[cosθsinθ0sinθcosθ0001][xy1]\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

3. Scaling

Scales an object by factors sx,sys_x, s_y about the origin:

x=sxx,y=syyx' = s_x \cdot x, \qquad y' = s_y \cdot y [xy1]=[sx000sy0001][xy1]\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} s_x & 0 & 0 \\ 0 & s_y & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

If sx=sys_x = s_y the scaling is uniform; otherwise it is differential (non-uniform). Composite transformations are obtained by multiplying these matrices in the required order.

transformation
2long10 marks

Explain the Cohen-Sutherland line clipping algorithm with the region codes and clip a line against a rectangular window with a suitable example.

Cohen-Sutherland Line Clipping Algorithm

The Cohen-Sutherland algorithm clips a line against a rectangular window with boundaries xmin,xmax,ymin,ymaxx_{min}, x_{max}, y_{min}, y_{max}. It divides the plane into 9 regions, assigning each endpoint a 4-bit region (outcode).

Region Codes (bits = TBRL)

BitMeaningCondition
Bit 1 (Top)above windowy>ymaxy > y_{max}
Bit 2 (Bottom)below windowy<yminy < y_{min}
Bit 3 (Right)right of windowx>xmaxx > x_{max}
Bit 4 (Left)left of windowx<xminx < x_{min}

The central (inside) region has code 0000.

Algorithm

1. Compute outcodes O1, O2 for endpoints P1, P2.
2. If O1 OR O2 == 0000  -> line is fully inside: ACCEPT (trivial).
3. Else if O1 AND O2 != 0000 -> both endpoints share an outside region:
      line is fully outside: REJECT (trivial).
4. Else (line straddles a boundary):
      - Pick the endpoint that is outside (outcode != 0).
      - Find intersection with the corresponding window edge using:
          x = x1 + (x2-x1)*(y_edge - y1)/(y2-y1)   for top/bottom
          y = y1 + (y2-y1)*(x_edge - x1)/(x2-x1)   for left/right
      - Replace the outside endpoint with the intersection point,
        recompute its outcode, and repeat from step 2.

Example

Window: xmin=10, xmax=100, ymin=10, ymax=100x_{min}=10,\ x_{max}=100,\ y_{min}=10,\ y_{max}=100. Clip line P1(5,5)P_1(5,5) to P2(60,60)P_2(60,60).

  • Outcode of P1(5,5)P_1(5,5): left (5<105<10) and bottom (5<105<10) 0101\Rightarrow 0101.
  • Outcode of P2(60,60)P_2(60,60): inside 0000\Rightarrow 0000.
  • Logical AND =0000=0000 \Rightarrow not trivially rejected; P1P_1 is outside.
  • Clip P1P_1 against left edge x=10x=10: y=5+(605)(105)/(605)=5+555/55=10y = 5 + (60-5)\cdot(10-5)/(60-5) = 5 + 55\cdot 5/55 = 10. New point (10,10)(10,10), outcode 00000000.
  • Now both endpoints are inside \Rightarrow ACCEPT clipped segment from (10,10)(10,10) to (60,60)(60,60).
clipping
3long10 marks

Explain parallel and perspective projections in 3D graphics. Derive the transformation matrix for perspective projection.

Projections in 3D Graphics

A projection maps 3D points onto a 2D view (projection) plane along projectors. There are two main classes.

Parallel Projection

  • Projectors are parallel to each other (centre of projection at infinity).
  • Preserves relative proportions; parallel lines remain parallel.
  • Does not give a realistic depth sense; used in engineering/CAD drawings.
  • Types: Orthographic (projectors perpendicular to plane) and Oblique (projectors at an angle).

Perspective Projection

  • Projectors converge at a single centre of projection (COP / eye) at a finite distance.
  • Objects farther away appear smaller (foreshortening); creates realistic depth.
  • Parallel lines (not parallel to the plane) converge to vanishing points (one, two or three point perspective).

Derivation of Perspective Projection Matrix

Let the centre of projection be at the origin and the projection plane be at z=dz = d (in front of the eye). A point P(x,y,z)P(x, y, z) projects to P(xp,yp,d)P'(x_p, y_p, d).

By similar triangles along the zz-axis:

xpx=dz    xp=xdz=xz/d\frac{x_p}{x} = \frac{d}{z} \implies x_p = \frac{x \cdot d}{z} = \frac{x}{z/d} ypy=dz    yp=ydz=yz/d\frac{y_p}{y} = \frac{d}{z} \implies y_p = \frac{y \cdot d}{z} = \frac{y}{z/d}

In homogeneous coordinates this is written as:

[xhyhzhh]=[100001000010001/d0][xyz1]=[xyzz/d]\begin{bmatrix} x_h \\ y_h \\ z_h \\ h \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 1/d & 0 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \\ 1 \end{bmatrix} = \begin{bmatrix} x \\ y \\ z \\ z/d \end{bmatrix}

Dividing by the homogeneous factor h=z/dh = z/d:

xp=xz/d,yp=yz/dx_p = \frac{x}{z/d}, \qquad y_p = \frac{y}{z/d}

which matches the similar-triangle result, giving the required perspective projection matrix.

3dprojection
B

Section B: Short Answer Questions

Attempt any EIGHT questions.

9 questions·5 marks each
4short5 marks

Explain the Sutherland-Hodgman polygon clipping algorithm with an example.

Sutherland-Hodgman Polygon Clipping

The Sutherland-Hodgman algorithm clips a polygon against a convex clipping window by processing the polygon against one edge of the window at a time (left, right, bottom, top). The output vertex list of one stage becomes the input of the next.

Rules for each polygon edge (from vertex SS to vertex PP)

For the current clip boundary:

  1. In \to In: output PP.
  2. In \to Out: output intersection point II.
  3. Out \to In: output intersection II and then PP.
  4. Out \to Out: output nothing.

After all four window edges are processed, the remaining vertex list is the clipped polygon.

Example

A triangle with vertices A(5,5),B(15,15),C(25,5)A(5,5), B(15,15), C(25,5) is clipped against the window xmax=20x_{max}=20.

  • Edge ABA\to B: both inside (x<20x<20) \Rightarrow output BB.
  • Edge BCB\to C: BB inside, CC outside (25>2025>20) \Rightarrow output intersection at x=20x=20.
  • Edge CAC\to A: CC outside, AA inside \Rightarrow output intersection at x=20x=20 and then AA.

The triangle is thus clipped into a quadrilateral whose right side lies on x=20x=20. Repeating the same procedure for the other three edges yields the final clipped polygon.

Limitation: works correctly only for convex clipping windows.

clippingpolygon
5short5 marks

Explain the RGB and CMY color models used in computer graphics.

RGB and CMY Color Models

RGB (Additive) Model

  • Based on the primary colors of light: Red, Green, Blue.
  • Colors are formed by adding light: R+G+B=White\text{R}+\text{G}+\text{B} = \text{White}, and absence of all = Black.
  • Represented as a unit cube with axes R, G, B (each 00 to 11); the diagonal from black to white is the gray scale.
  • Used by emissive devices: monitors, TVs, cameras, scanners.
  • Examples: R+G = Yellow, G+B = Cyan, R+B = Magenta.

CMY (Subtractive) Model

  • Based on the secondary colors / pigment primaries: Cyan, Magenta, Yellow.
  • Colors are formed by subtracting (absorbing) light from white: C+M+Y=Black\text{C}+\text{M}+\text{Y} = \text{Black}, absence of all = White (paper).
  • Used by reflective devices: printers and hardcopy output.

Relationship

[CMY]=[111][RGB]\begin{bmatrix} C \\ M \\ Y \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} - \begin{bmatrix} R \\ G \\ B \end{bmatrix}

CMY is the complement of RGB. (In printing, CMYK adds a black ink K for true blacks and cost saving.)

color
6short5 marks

Write the transformation matrices for 3D translation, scaling and rotation about the x-axis.

3D Transformation Matrices (Homogeneous Coordinates, 4×44\times4)

Translation by (tx,ty,tz)(t_x, t_y, t_z)

T=[100tx010ty001tz0001]T = \begin{bmatrix} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix}

Scaling by (sx,sy,sz)(s_x, s_y, s_z) about the origin

S=[sx0000sy0000sz00001]S = \begin{bmatrix} s_x & 0 & 0 & 0 \\ 0 & s_y & 0 & 0 \\ 0 & 0 & s_z & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

Rotation about the x-axis by angle θ\theta

The xx-coordinate is unchanged while yy and zz rotate:

Rx(θ)=[10000cosθsinθ00sinθcosθ00001]R_x(\theta) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta & 0 \\ 0 & \sin\theta & \cos\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}

A transformed point is obtained as [x y z 1]T=M[x y z 1]T[x'\ y'\ z'\ 1]^T = M\,[x\ y\ z\ 1]^T.

3dtransformation
7short5 marks

Explain the concept of window to viewport transformation.

Window to Viewport Transformation

  • A window is a rectangular region selected in the world coordinate system that defines what is to be displayed.
  • A viewport is a rectangular region on the device/screen that defines where it is displayed.
  • The window-to-viewport transformation (viewing transformation) maps a point inside the window onto the corresponding point inside the viewport, preserving relative position.

Mapping

Let the window be (xwmin,ywmin)(x_{wmin}, y_{wmin}) to (xwmax,ywmax)(x_{wmax}, y_{wmax}) and the viewport (xvmin,yvmin)(x_{vmin}, y_{vmin}) to (xvmax,yvmax)(x_{vmax}, y_{vmax}). To keep relative position equal:

xvxvminxvmaxxvmin=xwxwminxwmaxxwmin\frac{x_v - x_{vmin}}{x_{vmax}-x_{vmin}} = \frac{x_w - x_{wmin}}{x_{wmax}-x_{wmin}}

Solving:

xv=xvmin+(xwxwmin)sx,sx=xvmaxxvminxwmaxxwminx_v = x_{vmin} + (x_w - x_{wmin})\,s_x, \qquad s_x = \frac{x_{vmax}-x_{vmin}}{x_{wmax}-x_{wmin}} yv=yvmin+(ywywmin)sy,sy=yvmaxyvminywmaxywminy_v = y_{vmin} + (y_w - y_{wmin})\,s_y, \qquad s_y = \frac{y_{vmax}-y_{vmin}}{y_{wmax}-y_{wmin}}

Here sx,sys_x, s_y are the scaling factors. If sxsys_x \ne s_y the image is distorted; equal scale factors preserve the aspect ratio. The mapping is a translate-scale-translate sequence.

windowing
8short5 marks

Differentiate between parallel projection and perspective projection.

Parallel vs Perspective Projection

FeatureParallel ProjectionPerspective Projection
Centre of projectionAt infinityAt a finite point (eye)
ProjectorsParallel to each otherConverge to centre of projection
Size of objectPreserved regardless of distanceDiminishes with distance (foreshortening)
RealismLess realisticMore realistic, lifelike
Parallel linesRemain parallelConverge to vanishing point(s)
MeasurementsTrue dimensions preservedDimensions distorted
UseEngineering / CAD drawingsGames, animation, realistic views
TypesOrthographic, ObliqueOne-, two-, three-point

Summary: parallel projection keeps true size and parallelism but looks flat, while perspective projection mimics how the human eye sees, shrinking distant objects toward vanishing points.

projection
9short5 marks

Explain the working of a CRT (Cathode Ray Tube) with a suitable diagram.

Cathode Ray Tube (CRT)

A CRT is a vacuum tube display device that produces images by directing a controlled electron beam onto a phosphor-coated screen.

Main Components

  1. Electron gun – contains a heated cathode (filament) that emits electrons by thermionic emission, and a control grid that regulates beam intensity (brightness).
  2. Focusing system – electrostatic/magnetic lenses that converge the electrons into a fine beam.
  3. Deflection system – horizontal and vertical deflection plates/coils that steer the beam to any point on the screen.
  4. Phosphor-coated screen – glows when struck by the electron beam, producing a spot of light.

Working

  • The heated cathode emits electrons, which are accelerated by a high positive voltage toward the screen.
  • The control grid varies the number of electrons, controlling the brightness of the spot.
  • The focusing system narrows the beam; the deflection system positions it on the screen.
  • When electrons strike the phosphor, light is emitted. Because the glow fades quickly (persistence), the image must be refreshed (typically 60+ times/sec) to avoid flicker.
  • In color CRTs, three guns (R, G, B) and a shadow mask with phosphor triads are used.

(Diagram: cathode and control grid on the left feeding into focusing and deflection sections, with the electron beam striking the phosphor screen on the right.)

display-devices
10short5 marks

Differentiate between object-space and image-space methods of hidden surface removal.

Object-Space vs Image-Space Methods (Hidden Surface Removal)

FeatureObject-Space MethodImage-Space Method
Operates inWorld/object coordinate spaceScreen (pixel) space
ComparisonCompares objects/surfaces with one anotherDecides visibility per pixel of the projected image
AccuracyObject-precision (continuous), exactImage/device precision, limited by resolution
ComplexityO(n2)\approx O(n^2) for nn objectsO(np)\approx O(n \cdot p) for pp pixels
Resolution dependenceIndependent of display resolutionDepends on display resolution
ExamplesBack-face removal, Painter's (depth sort)Z-buffer (depth-buffer), Scan-line, Area subdivision

Summary: Object-space methods compare 3D surfaces directly and are resolution-independent but costlier for many objects, while image-space methods determine visibility at each pixel and are simpler to implement (e.g., Z-buffer) though tied to screen resolution.

hidden-surface
11short5 marks

What is a spline? Differentiate between interpolation and approximation splines.

Spline; Interpolation vs Approximation Splines

Spline

A spline is a smooth curve constructed from a set of control points using piecewise polynomial functions (commonly cubic) joined with continuity at the joints. The name comes from the flexible draftsman's strip used to draw smooth curves. Splines are defined so as to maintain parametric/geometric continuity (C0,C1,C2C^0, C^1, C^2) between curve segments.

Interpolation vs Approximation Splines

Interpolation SplineApproximation Spline
The curve passes through all control points.The curve does not pass through all control points (only near them).
Control points are also points on the curve.Control points only influence/guide the curve's shape.
Used when the curve must hit exact data points (digitizing, fitting).Used for smooth design where exact passage is not required.
Example: natural cubic spline, Catmull-Rom, Hermite (through endpoints).Example: Bézier and B-spline curves (lie within convex hull).

Note: Approximation splines (Bézier, B-spline) lie inside the convex hull of their control points, giving designers smooth, predictable control.

curvesspline
12short5 marks

Explain the key frame system in computer animation.

Key Frame System in Computer Animation

A key frame is a frame that defines the important (key) positions/states of an object at specific instants of an animation sequence. A key frame system is an animation technique in which the animator specifies only these key frames, and the system automatically generates the in-between frames.

Working

  1. The animator defines key frames at chosen times t1,t2,t_1, t_2, \dots giving the object's shape, position, color, etc.
  2. The intermediate frames between two key frames are generated automatically by in-betweening (tweening), usually by interpolation of the key parameters.
  3. Linear interpolation for a parameter PP between key frames at times tat_a and tbt_b:
P(t)=Pa+(PbPa)ttatbtaP(t) = P_a + (P_b - P_a)\,\frac{t - t_a}{t_b - t_a}
  1. Non-linear (spline) interpolation is used for smooth acceleration/deceleration (ease-in/ease-out).

Advantages

  • Reduces the animator's effort (only key frames drawn).
  • Produces smooth motion through automatic interpolation.
  • Widely used in 2D and 3D character animation (e.g., morphing is a related key-frame technique).
animation

Frequently asked questions

Where can I find the BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) question paper 2075?
The full BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) 2075 (regular) question paper is available free on Kekkei. You can read every question online and attempt the paper under timed exam conditions.
Does the Computer Graphics (BSc CSIT, CSC209) 2075 paper come with solutions?
Yes. Every question on this Computer Graphics (BSc CSIT, CSC209) past paper includes a step-by-step solution, plus instant AI feedback when you attempt it on Kekkei.
How many marks is the BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) 2075 paper?
The BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) 2075 paper carries 60 full marks and is meant to be completed in 180 minutes, across 12 questions.
Is practising this Computer Graphics (BSc CSIT, CSC209) past paper free?
Yes — reading and attempting this Computer Graphics (BSc CSIT, CSC209) past paper on Kekkei is completely free.