Exercises for the first supervision
Most exercises can be found in the Study
Guide:
Section 1.2, Exercise 2
Section 2.3, Exercise 4
Section 3.7, Exercises 11 and 12
Section 6.4, Exercises 5(d) and 6
For your convenience the set of exercises is gathered
together below.
 [1.2/2] In what circumstances is line drawing more useful than either ray
tracing or polygon scan conversion. [2 marks]
 [2.3/4] (a) Describe the situations in which it is sensible
to use a wingededged data structure to represent a polygon mesh and,
conversely and, conversely, the situations in which a wingededged
data structure is not a sensible option for representing a polygon
mesh. (b) What is the minimum information which is required to
successfully draw a polygon mesh using Gouraud shading? (you may need
to refer to the Part IB
course to refresh your memory about what is required for Gouraud
shading). [4 marks]
 [3.7/11] (i) Show how to find the first intersection between a
ray and a finitelength, openended cone, centred at the origin,
aligned along the xaxis, for which both ends of the finitelength are
on the positive xaxis (i.e. 0 < x_{min} <
x_{max}). [6 marks]
(ii) Extend this to cope with a closed cone (i.e. the same cone, but with
end caps). Take care to consider any special cases. [5 marks]
(iii) Extend this further to give the normal vector at the
intersection point. [3 marks]
 [3.7/12] (a) A disc is a finite, planar, circular
object. Describe an algorithm to find the point of intersection of an
arbitrary ray with an arbitrary disc in three dimensions. Ensure that
you describe the parameters used to define both the ray and the
disc. [6 marks]
(b) Given the above algorithm and an algorithm to find the
intersection of an arbitrary ray with a finitelength open cylinder, a
programmer has two choices for implementing an algorithm to find the
intersection with a finitelength closed cylinder. She could simply
use the finitelength open cylinder primitive and two disc
primitives. Alternatively she could implement the finitelength closed
cylinder as a primitive in its own right by adding extra code to the
open cylinder algorithm. Compare the two alternatives in terms of
effciency and accuracy. [4 marks]
 [not in the study guide] Section 3.4.2 explains the problems with transforming
normal vectors. Another way to think about this is to consider a
tangent vector, T. The
tangent vector and the normal vector must be at 90° to one
another, which means that: N.T=0 (see comment after
equation 7 on page 18). T is an ordinary displacement, which
means that it scales and rotates in the same way as the object
itself.
(a) If we scale the object by matrix S then
T'=SxT. Find matrix M such that
N'=MxN, which satisfies N'.T'=0,
given that N.T=0 and T'=SxT. [3 marks]
(b) If we rotate the object by matrix R then
T'=RxT. Find matrix M such that
N'=MxN, which satisfies N'.T'=0,
given that N.T=0 and T'=RxT. [4 marks]
  [  cosθ  sinθ  0  ] 
R  =  [  sinθ  cosθ  0  ] 
  [  0  0  1  ] 
 [6.4/5(d)] Show that the openuniform Bspline with k = 3
and knot vector [ 0 0 0 1 1 1 ] is equivalent to the quadratic Bezier
curve. [7 marks]
 [6.4/6] Derive the formula of and sketch a graph of
N_{3,3}(t), the third of the quadratic Bspline basis
functions, for the knot vector [ 0 0 0 1 3 3 4 5 5 5 ]. [6
marks]
This exercise set is marked out
50. This is equivalent to 90 minutes in an examination.
