Project 2
CISC 320 Algorithms and Advanced Programming
-- Spring, 1999
Project Goal.
-
To examine the the role a heuristic can play in improving an algorithm's
expected performance.
-
To examine the tradeoffs between a method with good average time performance
and a method with good worst-case time performance.
-
To understand some computational issues in graphics. Specifically the
determination of the boundary of an object in 2 dimensional space.
Problem statement.
As the core, do exercise 10 of chapter 25.
Augment this exercise by determining
whether Package Wrapping or Graham Scan performs
better with the kind of data in the exercise (sets of random points with
coordinates between 0 and 1000, and such that interior elimination has
left about 50 points).
Having done the above, prepare for an in-class competition. For this
you will have to choose between Package Wrapping and Graham Scan as the
basic technique and you will have to determine the kind of interior
elimination you would like to include. The contest data sets will
include some from each of these types.
-
Sets of points randomly and uniformly distributed with coordinates
between 0 and 1000.
-
Sets of points that represent the projected view of three dimensional
convex objects. Such sets tend to have points clustered near the
convex hull. Consider for example views of a geodesic of pentagons and
hexagons (a Soccer ball if it's patches were flat).
-
Other sets of points diabolically chosen to make some methods look bad.
That is, these sets will be chosen to bring out some "worst case" behavior.
For instance, a set of random points along the boundary of a square.
Details
-
This is a team project. Teams of 2 to 4 will work together.
(Larger teams will be expected to show evidence of more
design and/or experiment.)
Until 5pm Wednesday, April 21, you may propose a team that would like
to work together.
Final team composition will be assigned in class Thursday, April 22.
-
Submit a writeup of your experiments concerning exercise 10.
Approximately what value of N leads to 50 points left after interior
elimination? What experiments did you perform to find this value?
For this N, which method is faster when used after the interior elimination,
PackageWrap or GrahamScan?
-
Submit a writeup of your code for the contest. What form of interior
elimination are you choosing to use? Which of PackageWrap or GrahamScan
do you use afterwards? In both cases, explain why you made the choice you
did.
You may use any method of determining the convex hull for the
contest. Whatever method(s) you use, explain the reasons for the
choices made.
-
320dir/convex/ will contain sample implementations of basic geometric
functions such as ccw, theta, packageWrap, grahamScan, etc.
Deliverables and Due date
-
Writeup of the augmented Exercise 10 is due May 6.
-
Contest writeup with code is due Tuesday, May 11.
-
Convex competition day is Thursday, May 13.
It is allowed to continue developing code between Tues and Thurs.
If changed, submit modified writeup.