Computational Geometry 
 Class Outline
    
    
    
      COMPUTATIONAL GEOMETRY is the study of the representation and
      storage of geometric data and relationships, and the design, 
      implementation and analysis of computational algorithms that operate
      on geometric data to answer questions of practical interest.
    
    
      Some characteristic problems of computational geometry include:
      
        - 
          analysis: can we decompose a large geometric object into
          a collection of smaller objects of the same kind?  Every
          soccer ball has 12 pentagons; why is it impossible to cover
          a ball using only six-sided figures?
        
- 
          traversal: given a set of cities and an airline flight schedule,
          is a tour possible which visits all the cities exactly once?
        
- 
          search: suppose we split each square of a checkboard into two triangles,
          and then place a penny in one triangle.  Theoretically, we might
          need to check all 128 triangles to find the penny.  Is it possible
          to search in such a way that no more than 8 triangles must be checked?
        
- 
          projection: given a description of a 3D object, how do we make 
          a 2D image of it?  Our 2D image will usually depend on the point
          from which we view the object.  What happens if our viewpoint
          is actually inside the object?
        
- 
          sampling: what does it mean to pick a random point from a circle?
          What is different about the random pattern formed by throwing
          darts at a bull's-eye?
        
- 
          interpolation: is it possible to find a formula for your
          signature?  For your face?  
        
      Computational Geometry has applications thoughout computational science,
      most naturally in areas which have a strong geometric component.  However,
      even in abstract computations involving multidimensional data,
      insights and algorithms originally developed for "physical" (2D or 3D)
      problems can be extended to the high dimensional case.
    
    
    
      Computational Geometry Schedule
    
    
      
        - 
          The fundamental objects: points, lines and curves, planes and surfaces, spaces
        
- 
          The fundamental relations: inclusion, containment, perpendicularity, intersection
        
- 
          The fundamental measures: distance, angle, length, area, volume, projected length
        
- 
          The fundamental operations: interior, exterior, intersection, normal vector
        
- 
          Other basic ideas: convexity, change of coordinate system, equal spacing
        
- 
          The circle and the disk; polar coordinates
        
- 
          The sphere and the ball; spherical coordinates
        
- 
          The Triangle; area, orientation, angles, aspect ratio;
          containment, barycentric coordinates; distance from a point to a triangle
        
- 
          Polygons; partitioning a polygon
        
- 
          The Simplex
        
- 
          Polyhedrons: vertices, edges, faces; orientation
        
- 
          The description and approximation of 2D curves: 
          y = f(x); polynomial interpolation; piecewise interpolations; least squares approximations;
          f(x,y) = 0; 
          finite element approximation;
        
- 
          Sampling and Random Selection; uniform and nonuniform densities;
          rejection methods; transformation methods; sampling inside or on a sphere
        
- 
          The Convex Hull
        
- 
          Triangulation; Generating a triangulation; measures of uniformity;
          Delaunay triangulations; searching a (Delaunay) triangulation;
        
- 
          Adaptive meshing; binary trees for adaptive interval meshing;
          quadtrees for 2D; octrees for 3D meshing.  Locating a point in
          a mesh defined by a tree.
        
- 
          Voronoi Diagrams in the plane; Voronoi diagrams restricted to a region;
          Voronoi diagrams on a sphere; Voronoi diagrams in higher dimensions
        
- 
          The Nearest Neighbor Problem
        
- 
          Storing, retrieving, displaying geometric information
        
- 
          Quadrature; derivatives
        
- 
          Software: OpenGL, Triangle, DISTMESH
        
- 
          Surface refinement, simplification, modification
        
      You can return to the
      HTML web page.
    
    
    
      Last revised on 25 September 2008.