BSc CSIT (TU) Science Computer Graphics (BSc CSIT, CSC209) Question Paper 2081 Nepal
This is the official BSc CSIT (TU) (Science stream) Computer Graphics (BSc CSIT, CSC209) question paper for 2081, as set in the regular annual examination. It carries 60 full marks and a time allowance of 180 minutes, across 12 questions. On Kekkei you can attempt this Computer Graphics (BSc CSIT, CSC209) past paper online with a timer, get instant AI feedback and step-by-step solutions, and track the topics where you lose marks — completely free. Whether you are revising for your BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) exam or solving previous years' question papers, this 2081 paper is a great way to practise under real exam conditions.
Section A: Long Answer Questions
Attempt any TWO questions.
Explain parallel and perspective projections in 3D graphics. Derive the transformation matrix for perspective projection.
Parallel and Perspective Projections in 3D Graphics
Projection maps 3D points onto a 2D view (projection) plane along projectors (projection lines).
Parallel Projection
The projectors are parallel to one another; the centre of projection is at infinity.
- Preserves relative proportions and parallelism of lines; no foreshortening with distance.
- Good for engineering / CAD drawings where true dimensions matter.
- Sub-types: Orthographic (projectors perpendicular to the plane) and Oblique (projectors at an oblique angle).
Perspective Projection
All projectors converge to a single point called the centre of projection (COP).
- Objects farther from the viewer appear smaller (perspective foreshortening).
- Parallel lines (not parallel to the view plane) converge at vanishing points.
- Produces realistic images, as in photographs and the human eye.
- Classified by number of vanishing points: one-point, two-point, three-point.
Derivation of the Perspective Projection Matrix
Let the centre of projection be at the origin and the projection plane at (distance from the eye), with a point to be projected onto .
Using similar triangles along the line from the COP through to the plane:
In homogeneous coordinates , this division by is captured by placing in the matrix so that the homogeneous -coordinate becomes :
Dividing through by the homogeneous coordinate gives the projected point:
which is exactly the perspective relation derived above. As the term and the matrix reduces to the orthographic (parallel) projection, showing parallel projection is the limiting case of perspective projection.
Explain the Z-buffer (depth buffer) algorithm for hidden surface removal with its advantages and limitations.
Z-Buffer (Depth Buffer) Algorithm
The Z-buffer is an image-space hidden surface removal method. Along with the frame buffer (which stores colour/intensity for each pixel) it maintains a depth (Z) buffer that stores the -value (distance from the viewer) of the closest surface seen so far at each pixel.
Algorithm
1. Initialize:
for each pixel (x, y):
depth_buffer[x][y] = z_max // farthest value (background)
frame_buffer[x][y] = background_color
2. For each polygon in the scene:
For each pixel (x, y) covered by the polygon:
compute depth z of the polygon at (x, y)
if z < depth_buffer[x][y]: // closer to the viewer
depth_buffer[x][y] = z
frame_buffer[x][y] = surface_color at (x, y)
The depth at successive pixels along a scan line is computed incrementally: if the plane of the polygon is , then moving one pixel in changes by a constant , avoiding a full recompute per pixel.
After all polygons are processed, the frame buffer holds the visible (nearest) surfaces.
Advantages
- Simple to implement and easy to do in hardware (used in modern GPUs).
- Processes polygons in any order; no pre-sorting of surfaces is required.
- Handles arbitrary scene complexity and intersecting/penetrating surfaces correctly.
- Time is roughly linear in the number of polygons.
Limitations
- Requires large memory for the depth buffer (one depth value per pixel).
- Resolves visibility only at pixel resolution → aliasing; finite depth precision causes z-fighting between close surfaces.
- Performs work even for hidden surfaces (writes then overwrites pixels).
- Does not directly support transparency or anti-aliasing without extra techniques.
Explain the scan-line polygon fill algorithm and the boundary fill algorithm with examples.
Scan-Line Polygon Fill Algorithm
Fills a polygon by processing the image one horizontal scan line at a time, colouring spans between pairs of edge intersections.
Steps
1. Find y_min and y_max of the polygon.
2. For each scan line y from y_min to y_max:
a. Find all intersections of the scan line with polygon edges.
b. Sort the intersection x-values in increasing order.
c. Form pairs (x1,x2), (x3,x4), ... and fill pixels between
each pair (odd-even / parity rule).
- An Edge Table (ET) and an Active Edge Table (AET) are used for efficiency: the AET holds only edges crossing the current scan line, updated incrementally.
- Each edge's is updated per scan line by (where is the slope), so no full recomputation is needed.
- Vertex rule: a vertex is counted as two intersections if it is a local max/min, otherwise once, so spans pair correctly.
Example: For a triangle with vertices , the scan line intersects the two slanted edges at, say, and ; pixels from to are filled.
Boundary Fill Algorithm
Fills a region bounded by a known boundary colour, starting from a seed point inside it.
Steps (4-connected)
boundaryFill(x, y, fill_color, boundary_color):
current = getPixel(x, y)
if current != boundary_color and current != fill_color:
setPixel(x, y, fill_color)
boundaryFill(x+1, y, fill_color, boundary_color)
boundaryFill(x-1, y, fill_color, boundary_color)
boundaryFill(x, y+1, fill_color, boundary_color)
boundaryFill(x, y-1, fill_color, boundary_color)
- 4-connected spreads to up/down/left/right neighbours; 8-connected also includes diagonals (fills regions that 4-connected would leak through or miss at thin diagonal boundaries).
- Recursion stops when a pixel is already the boundary colour or already filled.
Example: Given a closed circle drawn in red (boundary colour) and a seed pixel at its centre, the algorithm recursively colours every interior pixel with the fill colour until it reaches the red boundary on all sides.
Comparison
| Scan-line fill | Boundary fill |
|---|---|
| Works from polygon edge list | Works from a seed point |
| No seed needed; uses parity rule | Needs interior seed pixel |
| Efficient, no deep recursion | Simple but recursion-heavy (stack overflow on large areas) |
| Region defined by edges | Region defined by a boundary colour |
Section B: Short Answer Questions
Attempt any EIGHT questions.
Explain the concept of window to viewport transformation.
Window-to-Viewport Transformation
The window is a rectangular region in world coordinates selecting the part of a scene to display; the viewport is a rectangular region on the device/screen where that window is mapped. Window-to-viewport mapping (viewing transformation) converts a point in the window to a point in the viewport while preserving relative position.
If the window spans and the viewport spans , the relative position must be equal:
Solving gives the mapping:
where the scale factors are
If the image is distorted; choosing preserves the aspect ratio. The process is equivalent to translate (window to origin) → scale → translate (to viewport).
Differentiate between parallel projection and perspective projection.
Parallel vs Perspective Projection
| Feature | Parallel Projection | Perspective Projection |
|---|---|---|
| Projectors | Parallel to each other | Converge to a single Centre of Projection |
| Centre of projection | At infinity | At a finite distance |
| Object size with distance | Unchanged (no foreshortening) | Distant objects appear smaller (foreshortening) |
| Vanishing points | None | One, two, or three vanishing points |
| Realism | Less realistic | More realistic (like the eye/camera) |
| True dimensions | Preserved (good for CAD/engineering) | Not preserved |
| Parallel lines | Remain parallel | May converge to a vanishing point |
| Use | Engineering drawings, blueprints | Animation, games, realistic rendering |
In short, parallel projection keeps measurements accurate, whereas perspective projection sacrifices measurement accuracy to gain visual realism.
Explain the working of a CRT (Cathode Ray Tube) with a suitable diagram.
Working of a CRT (Cathode Ray Tube)
A CRT is a vacuum tube that produces images by directing a beam of electrons onto a phosphor-coated screen.
Main components
- Electron gun – contains a heated cathode (filament) that emits electrons (thermionic emission) and a control grid that controls beam intensity (brightness).
- Focusing system – electrostatic/magnetic lenses converge the electrons into a fine beam so the spot stays sharp.
- Deflection system – horizontal and vertical deflection plates/coils steer the beam to any point on the screen.
- Phosphor-coated screen – glows when struck by electrons.
Diagram (described in words)
Left to right: Cathode (filament) → Control grid → Accelerating & focusing anodes → Horizontal and vertical deflection plates → Phosphor screen at the front. A connector at the rear supplies the heater and grid voltages; the wide front face is the viewing screen.
Operation
- The heated cathode emits electrons; the control grid regulates how many pass (controls brightness).
- The focusing system forms a narrow beam, accelerated by high-voltage anodes.
- The deflection system positions the beam at the required location.
- The beam strikes the phosphor, which fluoresces and emits light at that point.
- Because phosphor glow fades, the image must be refreshed (redrawn) typically 60–80 times per second to avoid flicker. Persistence is the time the phosphor keeps glowing after excitation.
Differentiate between object-space and image-space methods of hidden surface removal.
Object-Space vs Image-Space Hidden Surface Removal
| Aspect | Object-Space Method | Image-Space Method |
|---|---|---|
| Where comparison is done | In the 3D world / object coordinates | At the pixel/screen level |
| Basis of computation | Compares objects/surfaces with each other | Determines, per pixel, which surface is visible |
| Precision | Computed at object precision (device-independent) | Limited to display (pixel) resolution |
| Computation cost | Cost grows with the number of objects (roughly comparisons) | Cost grows with the number of pixels |
| Accuracy | Resolution-independent, exact | Depends on screen resolution (aliasing possible) |
| Examples | Back-face removal, depth-sort (Painter's), BSP tree | Z-buffer, Scan-line, Area subdivision (Warnock), Ray casting |
Object-space methods work best for scenes with few objects, while image-space methods scale better for scenes with many complex objects since work is bounded by screen resolution.
What is a spline? Differentiate between interpolation and approximation splines.
Spline
A spline is a smooth curve constructed piecewise from low-degree polynomial segments that join with continuity conditions, defined by a set of control points. The name comes from the flexible draftsman's strip used to draw smooth curves. Splines are used to model curves and surfaces (e.g., Bézier, B-spline, NURBS).
The degree of smoothness at the joins is described by continuity: (positional), (first derivative / tangent), (second derivative / curvature) — or the geometric equivalents .
Interpolation vs Approximation Splines
| Interpolation Spline | Approximation Spline |
|---|---|
| The curve passes through every control point. | The curve generally does not pass through all control points (except possibly endpoints). |
| Control points lie on the curve. | Control points only guide/pull the curve shape. |
| Good for fitting a curve to known data points. | Good for free-form design and smoother shapes. |
| Can oscillate (wiggle) between points. | Smoother, more controllable; stays within the convex hull of control points. |
| Example: natural cubic spline, Catmull-Rom. | Example: Bézier curve, B-spline. |
In short, an interpolation spline is forced through the control points, whereas an approximation spline merely approximates their shape.
Explain the key frame system in computer animation.
Key-Frame System in Computer Animation
A key frame is a frame in which the position, shape, or other attributes of an object are explicitly defined by the animator at a specific point in time. A key-frame system generates the in-between frames automatically.
Working
- The animator (or chief artist) specifies the key frames — usually at the start and end of a motion and at important moments where the action changes.
- The system computes the intermediate frames, called in-betweens (or tweens), by interpolating the object parameters between successive key frames.
- Linear interpolation gives uniform spacing; non-linear / spline interpolation (e.g., ease-in / ease-out) gives more natural acceleration and deceleration.
For a parameter with values at key frame and at key frame , an in-between at fraction is:
Related techniques
- Morphing: transforming one object shape into another smoothly between key frames.
- Motion specification via parameters such as position, rotation, scale, and colour, each interpolated independently.
Advantage
The animator defines only a few key frames; the computer fills in the rest, greatly reducing manual effort while keeping motion smooth and controllable.
Explain the working principle of a Raster scan display and a Random (vector) scan display.
Raster Scan vs Random (Vector) Scan Display
Raster Scan Display
- The screen is a grid of dots called pixels; the picture is a pixmap stored in a frame buffer (refresh buffer).
- The electron beam sweeps the screen horizontally one row at a time, from top-left to bottom-right (line by line), turning each pixel on/off according to the frame buffer.
- After completing the screen the beam returns to the top (vertical retrace) and the image is refreshed (e.g., 60 Hz).
- Can display filled areas, shading, and realistic colour images.
- Resolution is limited by frame-buffer size; suffers from staircasing/aliasing on slanted lines.
Random (Vector / Stroke) Scan Display
- The electron beam is deflected directly from one endpoint to another, drawing only the line segments that make up the picture (stored in a display file / display list).
- Refreshes by retracing each stored line; the beam visits points in any order, not row by row.
- Produces smooth, high-resolution lines with no jaggedness — excellent for line drawings and CAD.
- Cannot easily display shaded or filled solid areas; refresh time grows with the number of lines, so complex pictures flicker.
Key difference
A raster display stores and refreshes every pixel (good for realistic images), while a vector display stores and traces only the line endpoints (good for sharp wireframe line art).
Explain the DDA line drawing algorithm with its advantages and disadvantages.
DDA (Digital Differential Analyzer) Line Drawing Algorithm
DDA is an incremental scan-conversion method that computes successive pixel positions of a line using the line's slope.
For a line from to , let , .
Algorithm
steps = max(|dx|, |dy|)
x_inc = dx / steps
y_inc = dy / steps
x = x1 ; y = y1
plot(round(x), round(y))
for i = 1 to steps:
x = x + x_inc
y = y + y_inc
plot(round(x), round(y))
Dividing by steps (the larger of ) guarantees unit movement along the dominant axis and a fractional step along the other, so no gaps appear.
Advantages
- Simple and easy to implement.
- Faster than the direct line equation because it avoids a multiplication per point, using only addition.
- Works for lines of any slope and direction.
Disadvantages
- Uses floating-point arithmetic and rounding, which is slower and costly in hardware.
- Accumulated round-off error can cause the plotted line to drift from the true line over long segments.
- Rounding each point makes it slower than the integer-only Bresenham's algorithm, which is generally preferred.
Derive the transformation matrix for rotation about an arbitrary point in 2D.
Rotation about an Arbitrary Point in 2D
The basic 2D rotation matrix rotates about the origin by angle . To rotate a point about an arbitrary pivot , we compose three transformations:
- Translate the pivot to the origin: .
- Rotate about the origin by : .
- Translate back so the pivot returns to : .
The composite (applied right-to-left to a column point) is:
In homogeneous coordinates:
Multiplying these gives:
So the rotated point is:
When , reduces to the standard origin rotation matrix, confirming the result.
Frequently asked questions
- Where can I find the BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) question paper 2081?
- The full BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) 2081 (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) 2081 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) 2081 paper?
- The BSc CSIT (TU) Computer Graphics (BSc CSIT, CSC209) 2081 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.