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
A new exercise (see below)
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 winged-edged data structure to represent a polygon mesh and,
conversely and, conversely, the situations in which a winged-edged
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 finite-length, open-ended cone, centred at the origin,
aligned along the x-axis, for which both ends of the finite-length are
on the positive x-axis (i.e. 0 < xmin <
xmax). [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 finite-length open cylinder, a
programmer has two choices for implementing an algorithm to find the
intersection with a finite-length closed cylinder. She could simply
use the finite-length open cylinder primitive and two disc
primitives. Alternatively she could implement the finite-length 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]
- [new] 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 open-uniform B-spline 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
N3,3(t), the third of the quadratic B-spline 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.
|