More Voronoi Diagrams, Curvature




CS216

Chris Pollett

Apr 27, 2010

Outline

Introduction

More on Voronoi Diagram Algorithm

VD Algorithm (cont'd)

foreach remaining point p from P {
  foreach face F {
    do the normal test on p with respect to F's edge list 
       to determine if p is surrounded by F.
       (for an empty edge list this test trivially succeeds)
    if `yes` break;
  }
  Initialize faceList to be empty list
  Initialize edgeList to be empty list
  Initialize vertList to be empty list
  Initialize lineList to be empty list 
  set currentFace = F
  do {
     let p(currentFace) be the point from our initial set P that was stored
        in the FaceDataObject of currentFace.
     compute the equation of the line L which perpendicularly bisects
        p and p(currentFace) 
     Put L in a list lineList
  
     foreach edge e of currentFace {
        if L intersects e {
           let p(L) be the intersection of L and e
           add p(L) to vertList;
           add e to edgeList
           let e(currentFace) be the other Face for this edge
           add currentFace to faceList
           set currentFace = e(currentFace);
           break;
        }
     }
  } while (currentFace != F)
  build a new face using the vertices in vertList
  To make the necessary edges note that the other face adjacent to the edge 
     corresponding to vertices v_i, v_(i+1) in vertList is face F_i
     from faceList 
  Edges from F_i which don't intersect v_i, v_(i+1) and are on the p side
     of line L_i from lineList should be deleted and F_i should be modified
     to now have the edge v_i, v_(i+1) (winged-structure appropriately set-up).
  After doing the above we have a new Voronoi diagram which incorporates p
     and we are ready to loop to the next point.
}

Quiz

Which of the following statements is true?

  1. The Warnock area subdivision algorithm as presented in class would draw a scene from the top of the screen to the bottom, a scan line at a time.
  2. There are examples of convex polygons which cannot be triangulated using a triangle fan.
  3. We used linear separability to develop an algorithm for convex hulls.

Introduction Curvature

Curvature

Curvature of Surfaces

An image (courtesy Wikipedia) used to explain normal and geodesic curvature