Course Introduction in PDF - Computer Science
UMass Lowell Computer Science 91.504
Advanced Algorithms
Computational Geometry
Prof. Karen Daniels
Spring, 2010
Lecture 1
Course Introduction
ti
Course Introduction
What is
Computational Geometry
Advanced Algorithms
Computational Geometry
Computer
Graphics
Design Analyze
feasibility, estimation, optimization problems
Visualization
for
covering, assignment, clustering, packing, layout,
geometric modeling
Covering for
Geometric
Modeling
Data Mining,
Clustering, for
Bioinformatics
Packing for Manufacturing
Apply
Courtesy of Cadence Design Systems
Meshing
for
Geometric
Modeling
CAD
Topological Invariant
Estimation for
Geometric Modeling
Typical Problems
• bin packing
• Voronoi diagram
• simplifying
polygons
• shape similarity
• convex hull
• maintaining line
arrangements
• polygon
partitioning
• nearest neighbor
search
• kd-trees
SOURCE: : Steve Skiena’s Algorithm Design Manual
(for problem descriptions, see graphics gallery at http://www.cs.sunysb.edu/~algorith)
Common Computational
Geometry Structures
Convex Hull
Voronoi Diagram
New Point
Delaunay Triangulation
source: O’Rourke, Computational Geometry in C
Sample Tools of the Trade
Algorithm Design Patterns/Techniques:
binary search
randomization
derandomization
divide-and-conquer
sweep-line
parallelism
Algorithm Analysis Techniques:
asymptotic analysis, amortized analysis
Data Structures:
duality
winged-edge, edge, quad-edge,
range tree, kd-tree
Theoretical Computer Science principles:
i NP-completeness, hardness
Sets
MATH
Summations
Growth of Functions
Combinatorics
Probability
Proofs
Linear Algebra
Graph Theory
Geometry
Recurrences
Computational Geometry
in Context
Geometry
Applied
Math
Design
Analyze
Computational
Geometry
Efficient
Geometric Algorithms
Apply
Applied Computer Science
Theoretical
Computer
Science
Course Introduction
Course Description
Web Page
http://www.cs.uml.edu/~kdaniels/courses/ALG_504_S10.html
Nature of the Course
• Elective graduate Computer Science course
• Theory and Practice
• Theory: “Pencil-and-paper” exercises
• design an algorithm
• analyze its complexity
• modify an existing algorithm
• prove properties
• Practice
• Programs
• Real-world examples
Course Structure: 2 Parts
Basics
Polygon Triangulation
Partitioning
i i
Convex Hulls
Voronoi Diagrams
Arrangements
Search/Intersection
Motion Planning
Advanced Topics
(sample topics)
(may change based on student interests)
Covering
Clustering
Packing
Courtesy of Cadence Design Systems
Geometric Modeling
Topological Estimation
papers from literature
Textbooks
• Required:
• Computational Geometry in C
• second edition
• by Joseph O’Rourke
• Cambridge University Press
• 1998
• see course web site for ISBN number(s) & errata list
Ordered for UML bookstore and can be
ordered on-line
Web Site: http://cs.smith.edu/~orourke/books/compgeom.html
+ conference, journal papers
Textbook Java Demo Applet
Code function
Chapter pointer
directory
-----------------------------------------------------
Triangulate Chapter 1, Code 1.14
/tri
Convex Hull(2D) Chapter 3, Code 3.8
Convex Hull(3D) Chapter 4, Code 4.8
sphere.c Chapter 4, Fig. 4.15
Delaunay Triang Chapter 5, Code 5.2
SegSegInt Chapter 7, Code 7.2
Point-in-poly
Chapter 7, Code 7.13
Point-in-hedron
Chapter 7, Code 7.15
Int Conv Poly Chapter 7, Code 7.17
Mink Convolve Chapter 8, Code 8.5
Arm Move Chapter 8, Code 8.7
/graham
/chull
/sphere
/dt
/segseg
/inpoly
/inhedron
/convconv
/mink
/arm
http://cs.smith.edu/~orourke/books/CompGeom/CompGeom.html
Textbooks
• Required:
• Computational Geometry: Algorithms &
Applications
• third edition
• by de Berg, Cheong, van Kreveld,
Overmars
• Springer
• 2008
• see course web site for ISBN number
Ordered for UML bookstore and can be ordered on-line
Web Site: http://www.cs.uu.nl/geobook
+ conference, journal papers
Prerequisites
Graduate Algorithms (91.503)
Coding experience in C, C++
Project coding may be done in Java ifd desired
d
Standard CS graduate-level math
prerequisites it + high h school Euclidean
geometry
additional helpful math background:
linear algebra, topology
MATH
Summations
Sets
Proofs
Geometry
Growth of Functions
Probability
Recurrences
Syllabus (current plan)
Syllabus (current plan)
Important Dates
• Midterm Exam: Thursday, 3/11
• Open books, open notes
• Final Exam:
none
If you have conflicts with exam date, please notify me as soon as possible.
Grading
• Homework 35%
• Project *
35%
• Midterm (O’Rourke) 30% (open book, notes )
*Some project writeups may be eligible for submission
to a computational geometry conference.
Homework
HW# Assigned
Due
Content
1 Th 1/28 Th 2/11 O’Rourke Chapters 1,2
de Berg Chapters 1, 3
CGAL documentation
Course Introduction
My Geometry Related Research
My Previous
Applied Algorithms Research
• VLSI Design:
• Custom layout
algorithms for silicon
compiler
• Geometric Modeling:
• Partitioning cubic B-
spline curves
• Manufacturing:
• see taxonomy on next
slide
Taxonomy of Problems
Supporting Apparel Manufacturing
Maximum
Rectangle
Geometric Restriction
Distance-Based
Subdivision
Limited Gaps
Containment
Ordered
Containment
Maximal Cover
Minimal
Enclosure
Two-Phase Layout
Lattice
Packing
Column-Based Layout
to be continued in another slide show