UNC Chapel Hill M. C. Lin
COMP290-72: Computational Geometry and Applications
Tues/Thurs 2:00pm - 3:15pm (SN 325)
Ming C. Lin
http://www.cs.unc.edu/~lin
http://www.cs.unc.edu/~lin/290-72.html
UNC Chapel Hill M. C. Lin
Computational Geometry
The term first appeared in the 70’sOriginally referred to computational
aspects of solid/geometric modelingLater as the field of algorithm design
and analysis of discrete geometryAlgorithmic bases for many scientific &
engineering disciplines (GIS, astro-physics, robotics, CG, design, etc.)
UNC Chapel Hill M. C. Lin
Textbook & References
Computational Geometry: Algorithms and Applications (de Berg, van Kreveld, Overmars & Schwarzkofp), published by Springer Verlag 1997
Check out the book web site !!! Handbook on Discrete and Computational Geometry Applied Computational Geometry: Toward Geometric Engineering
Computational Geometry: An Introduction Through Randomized Algorithms
Robot Motion Planning Algorithms in Combinatorial Geometry Computational Geometry (An Introduction)
UNC Chapel Hill M. C. Lin
Goals
To get an appreciation of geometry
To understand considerations and tradeoffs in designing algorithms
To be able to read & analyze literature in computational geometry
UNC Chapel Hill M. C. Lin
Course Overview
Introduction to computational geometry and its applications in
Computer Graphics Geometric Modeling Robotics & Automation Vision & Imaging Scientific Computing Geographic Information Systems
UNC Chapel Hill M. C. Lin
Applications in Computer Graphics
Visibility CullingGlobal IlluminationWindowing & ClippingModel Simplification3D Polyhedral MorphingCollision Detection
UNC Chapel Hill M. C. Lin
Applications in Geometric Modeling
Boolean OperationsSurface IntersectionsFinite Element Mesh GenerationSurface FittingPolyhedral DecompositionManufacturing & Tolerancing
UNC Chapel Hill M. C. Lin
Applications in Robotics
Motion Planning– with known environment– sensor-based/online– non-holonomic– others
Assembly PlanningGrasping & Reaching
UNC Chapel Hill M. C. Lin
Applications in Vision & Imaging
Shape/Template MatchingPattern MatchingStructure from motionsShape Representation (Core)Motion Representation (KDS)
UNC Chapel Hill M. C. Lin
Other Applications
Computing overlays of mixed dataFinding the nearest “landmarks”Point location in mega databaseFinding unions of molecular surfacesVLSI design layout
UNC Chapel Hill M. C. Lin
Topics List
Geometric Data Structure, Algorithms, Implementation & Applications. Specifically
Proximity and Intersection Voronoi Diagram & Delaunay Triangulation Linear Programming in Lower Dimensions Geometric Searching & Queries Convex Hulls, Polytopes & Computations Arrangements of Hyperplanes
UNC Chapel Hill M. C. Lin
Course Work & Grades
Homework: 30%
(at least 3, mostly theoretical analysis)Class Presentation: 20%
(any topic related to the course)Final Project: 50%
(research oriented)
Active Class Participation: bonus
UNC Chapel Hill M. C. Lin
Class Presentation
By August 27, 1998 -
Choose a presentation topic & inform instructor
(Check out the tentative lecture schedule & topics!) One week before the presentation -
Submit a draft of presentation materials One lecture before the presentation -
Hand out copies of reading materials, if not available online via your web site
One day before the presentation -
Post the presentation materials on the web
(see the online instruction!!!)
UNC Chapel Hill M. C. Lin
Course Project
An improved implementation of a geometric algorithm
A synthesis of several techniquesIn-depth analysis on a chosen subject
(at least 25 state-of-the-art papers)
Novel, research-oriented
UNC Chapel Hill M. C. Lin
Course Project Deadlines
September 30, 1998 - Meet to discuss ideas
October 13, 1998 - Project Proposal and Inform the Instructor your project web site
November 12, 1998 - Progress Update
December 11, 1998 - Final Project Demo & In-Class Presentation
UNC Chapel Hill M. C. Lin
Some Project Ideas
Improve the robustness of geometric operations on non-linear primitives
Develop path planning techniques for navigating in the virtual worlds
Investigate the use of various techniques (nearest neighbors, medial axis, etc.) to construct a hierarchy bottom-up efficiently
Design visibility & simplification algorithm for dynamic environments (considering kinetic data structures, hierarchical representation, etc.)
And, more......
UNC Chapel Hill M. C. Lin
Geometric Algorithms & Software
Geometry Center at University of Minnesota: a comprehensive collection of geometric software
CGAL: Computational Geometry Algorithms Library (C++) LEDA: Library of Efficient Data types and Algorithms (C++) The Stony Brook Algorithm Repository: Implementation in C, C++,
Pascal and Fortran CMU/Ansys & U. Aachen: Finite element mesh generation University of Konstanz: VLSI routing problems CMU: The Computer Vision Homepage Rockerfeller University: Computational gene recognition
NRL: Machine learning resources
UNC Chapel Hill M. C. Lin
More Pointers
Jeff Erickson's Computational Geometry Page
David Eppstein's Geometry in Action
The Carleton Computational Geometry Resources
Check them out!!!
UNC Chapel Hill M. C. Lin
Solving Geometric Problems
Thorough understanding of geometric properties of the problem
Proper application of algorithmic techniques and data structures
UNC Chapel Hill M. C. Lin
An Example: Convex Hull
A subset S of the plane is convex IFF for any pair of points p,q in S, the line seg(p,q) is completely contained in S.
The convex hull CH(S) of a set S is the smallest convex set that contains S.
CH(S) is the intersection of all convex sets that contain S.
UNC Chapel Hill M. C. Lin
Compute Convex Hulls
Input = set of points, S
Output = representation of CH(S)– a list of ordered (e.g. clockwise) points
that are vertices of CH(S)
UNC Chapel Hill M. C. Lin
Slow Convex Hull, CH(P)
1. E <- 0
2. for all ordered pairs (p,q) in PxP with p#q
3. do valid <- true
4. for all points r in P not equal to p or q
5. do if r lies to the left of line(p,q)
6. Then valid <- false
7. If valid then add the directed edge(p,q) to E
8. From E, construct a list of vertices of CH(P)
UNC Chapel Hill M. C. Lin
Problems
Degeneracies– multiple points on a line– multiple points on a plane– etc.
Robustness– incorrect results (invalid geometry) due to
numerical (e.g. truncation) errors
Performance– speed– storage
Top Related