Projects for Math 4270
Fall Semester, 2000 -- under revision spring 2000.
Warm-up exercise: page 87, Exercise 4. (No points.)
In 1999 the arrangements were as follows:
Seven of the following projects are required. One of them MUST
be (f) world or stars. One must be (h) ray-tracing. Each project
is worth eight out of one hundred points for your final grade.
The essential thing to turn in is a picture, or suite of pictures,
as indicated below. All submissions are to be hard-copy.
You must accompany each submission with hard-copy of all the code
used, even though I do not grade code as such.
At no time should you give me your only copy of anything!
There will be some serious, but hopefully
realistic, deadlines.
Generally speaking, credit for each project is all-or-nothing. Up to
the deadline, you
may re-submit a project if it turns out that you have missed some
aspect of it. If
the deadline comes and you aren't all the way there, then there may be some
partial credit awarded.
Collaboration is permitted, under the following guidelines. At most two
persons working together. You cannot do more than one project with the
same partner. Partnership must be agreed upon before either partner has
done any significant work on the project. You must inform the prof that
you have formed a partnership, before any substantial work is done.
The projects
- (a) A selection from Chapter 2. This includes
- Exercises 1 and 2 on page 106
- Exercises 6 and 12 on page 119.
- This means that your work will include replications
of Figures 2.5, 2.6, 2.9 and 2.11.
- There should also be one further interesting Logo picture, and
- One further interesting picture that is based on the concepts of
recursion in geometry.
No template is needed from these, other than a careful reading of
Chapter 2.
- (b) The conics and Lissajous group. Four pictures that illustrate
various things about conic sections.
- Exercise 2, page 141
- Exercise 2, page 143
- Exercise 1, page 155 (Same as 1 on p. 148, but the most
straightforward way to do it is to the method described
on page 155.) An interesting thing about this last
exercise is that you really can't tell by looking
which one is the parabola.
- Exercise 1, page 153, followed by Ex 3, 4 or 5.
The template for these (and many others) is of course curve.c in
Prototype programs.
- (c) The Bezier and spline group. (In this package you learn to work with
Bezier curves, and to apply them in some way. The ultimate objective is
to carry out the algorithm described in section 6.4 (pages 273-274).)
- Exercise 3, page 168. (This really is just warm-up.)
- Exercise 3, page 172. (This also.)
- Exercise 1, page 181. (This combines 1/174 with 1/176.) On
this exercise you must have the interpolation as
well as the simple splines.
- Some innovative or playful application of spline curves.
A possible template for the main spline program has been provided in
Prototype programs. If you
want some free graph paper for your project,
try here.
- (d) Portfolio of motions of the plane. This project is outlined in section
3.3.9, page 216. The points mentioned in Exercises 1 and 2 should
definitely be included.
- (e) The calculus group. In this set of exercises you work with envelopes,
evolutes, involutes, and so on. Here there is a lot of artistic scope. I
expect a portfolio of pictures that illustrate some of the concepts of section
3.4. Specific suggestions for pictures are made in:
- Exercise 1, page 219. Tangents to an ellipse.
- Exercise 2, page 219. More of the same.
- Exercise 1, page 227. Cardioid, plus coins.
- Exercise 2, page 227. Cardioid, plus coins and rod.
- Exercise 4, page 227. Coins of unequal sizes.
- Exercise 1, page 232. Cardioid as envelope.
- Exercise 1, page 238. Ellipse plus evolute.
(See computation of evolutes. )
- Exercise 1, page 239. Curve plus evolute plus circles of curvature.
- (f) The seeworld project. This is outlined in some detail in section 6.1,
pages 316-334. The alternative is the stars project in section 6.2,
pages 334-352. The relevant figure is 6.1 (or 6.9). (Of course, the
full scope of the exercise demands that one should be able to produce
Earth from any viewpoint, or a starchart for any date, time, azimuth
and elevation.)
I/O templates for seeworld and stars are (will be) available in
Prototype programs.
- (g) Graphing a function of two variables. This is outlined in section 6.4,
pages 374-377. We basically are shooting for 6.34 and 6.42 (or maybe
even the cover of the book). If you have completed part (f) you will
have a pretty good template for starting this one.
- (h) Ray-tracing. (Should include the basic Figure 6.51, and at least
one interesting enhancement of that figure, such as the suggestions
in Exercises 3, 5, 6, 7 (pp. 426-7), or Exercise 1 (page 432). Or
use your imagination.)
A template program (essentially the same as 128-130 in the text) is available
here. For an ansi-compliant
version that can also be used as C++, see
here. There is also a
dithered example. (These templates
do not perform any ray-tracing. They do take care
of the work of making a sampled image.)
At this time, PostScript viewers
can be found only in Simlab, in Math 217, and in your own home (if you
choose to download one). Details are on
this page.
- (i) Space-curve and stereo-image group. Should include figures 6.16
and 6.19-24, at least one stereo image, and one thing from your
own imagination.
- (j) A project of your own design. (Ideas: pages 182-183. An industrial
design project as in 6.5.)