day4 1/21/98

Qoute of the day: ``Someone has to pay.''

1.  2D incremental Convex hull

1.1  Inductive assumption:

The Polygon is convex and has a set of remaining points partitioned by each edge.

Let P = {P1,...,Pn} Ì R2

1.2  Algorithm

  1. Extract 3 points from P and form a triangle, T. Pick C Î T

  2. Draw a line segment for C to every point in P.

  3. Partition P by which edge of T the line segment from C crosses.

  4. While there exists point, P, above an edge, E, BuildTent(P,e,Polygon)

BuildTent(P,e,Polygon)

  1. Remove all edges from the polygon visible by P.

  2. Construct a larger polygon from the nonvisible edges in the Polygon + edges connecting to P.

  3. associate points external to the polygon with the new edgeset of the polygon

1.3  Timing analysis

All the work occurs in the BuildTent routine.

In step 1, finding the visible edges will not be too costly because all the edges of all the polygons will form a planar graph. From euler's formula, if |v| = n and |E| = m then m £ 3n

The total cost of step 3 is the number of times that you must check whether a line segment between Pi and C .

To analyze step 3, run the algorithm backwards.

2.  Linear Programming

After rotation, the problem is finding the point (x,y) which minimizes the y value.

Constraints can all be written in one of the forms:

  1. H+ = {i:y ³ aix+bi} = constraints on the minimum value of y

  2. H- = {i:y £ aix+bi} = constraints on the maximum value of y

  3. H0 = {i:aix £ bi} = vertical constraints


File translated from TEX by TTH, version 1.30.