1.
(a) Why exactly does Gouraud shading produce an unsatisfactory
answer for light sources which are close to a polygon relative to its
size?

*[5 marks]*

(b) Suppose we have a unit cube centered at the origin, (ie, two
opposite corners are (-0.5,-0.5,-0.5) and (0.5,0.5,0.5)). There is a light
source at (a,b,c). Generate a formula for finding the colour reflected
at any point (x,y,z) on the top surface of the cube, assuming that
there is diffuse reflection. (Define any additional terms or notation
that you introduce).

*
[10 marks]*

(c) What would happen if (a,b,c) were inside the box?

*[5 marks]
*

(d) How does the answer in (b) change if a specular reflection model is
used?

*[5 marks]*

2.
(a) Describe in detail the Cohen-Sutherland clipping algorithm for
clipping a line segment (x1,y1,z1) to (x2,y2,z2) to a 3D canonical
viewing volume specified as follows: the COP is at (0,0,0) and the
clipping planes are x = ąz and y = ąz (there are no front and back
planes).

*[15 marks]*

(b) The following specifies an alternative view volume: the COP is at
(0,0,0), the view plane distance is 1, and the view plane window has
vertices (1,0,1), (1,1,1) and (-1,0,1). Explain in detail how the
Sutherland-Hodgman polygon clipping algorithm would work
with this clipping region.

*[10marks]*

3.
a) The cylinder in (1) below is centred at the origin as shown. It is
drawn without hidden surface removal. Give viewing parameters
sufficient to obtain the views (2), (3) and (4). You may ignore the
view plane window and clipping plane parameters.

*[10 marks]*

b) In a perspective projection, the observer's eye is at (1,1,1) and s/he
is looking towards the origin. The viewplane is one unit distance
from the observer's position, and between the observer and the
origin. In the image the positive Z axis is required to be pointing
vertically upward. Find the appropriate camera model parameters
(VRP,VPN, VUV, COP) for this view.

*
[10 marks]*

c) Construct the matrix which transforms from World Coordinates to
Viewing Coordinates, for this view. and hence find a formula
giving the projection of the world coordinate point (x,y,z) onto the
viewplane.

*
[5 marks]*

4.
(a) The diagram below shows a plan view of a strange room with
outside walls 1,2,3,4 and a "hole" demarcated by a,b,c,d. (Ignore the
line AB, the points C, P1 and P2). Find a BSP tree to represent this
room.

*[5 marks]*

(b) Point P1 is inside the room and point P2 is outside. Show how the
BSP tree can be used to determine for any point whether it is inside
or outside the room.

*[5 marks]*

(c) Use the BSP tree traversal algorithm to obtain the back-to-front order of
polygons from position C.

*[5 marks]*

(d) Line AB represents a path that a robot plans to take from A to B. It
is required to know in advance which parts of this path will be
inside and which outside the room. Show how to use the BSP tree
to find these parts of line AB.

*[5 marks]*

(e) In general compare the BSP hidden surface algorithm with the z-
buffer algorithm, stating the advantages and disadvantages of
each.

*[5 marks]*

**This may not be included, depending on time**

5.
(a) The diagram below shows a 2D analog of part of a ray traced scene.
There are six "surfaces" A,B,C,D,E,F and a number of rays are
shown. Based on the behaviour of the rays at the surfaces, identify
the kind of reflective property which each surface has.

*[5 marks]*

(b) Write a program showing the main recursive ray tracing function.

*[7 marks]*

(c) Suppose the scene consists entirely of convex polyhedra. Taking
into account the fact that the greatest amount of time in ray tracing
is taken up by intersection calculations, describe in detail how you
would test whether a ray intersected a given polyhedra.

*[8 marks]*

(d) How would you find the intersection point between a ray and a
polyhedra.

*[5 marks]*