
db40a595a8d856e8c74590d0494bd744.ppt
- Количество слайдов: 25
COMP 290 -72: Computational Geometry and Applications Tues/Thurs 2: 00 pm - 3: 15 pm (SN 325) Ming C. Lin lin@cs. unc. edu http: //www. cs. unc. edu/~lin/290 -72. html
Computational Geometry l The term first appeared in the 70’s l Originally referred to computational aspects of solid/geometric modeling l Later as the field of algorithm design and analysis of discrete geometry l Algorithmic bases for many scientific & engineering disciplines (GIS, astrophysics, robotics, CG, design, etc. ) UNC Chapel Hill M. C. Lin
Textbook & References l l l l 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)
Goals l To get an appreciation of geometry l To understand considerations and tradeoffs in designing algorithms l 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 l l l Computer Graphics Geometric Modeling Robotics & Automation Vision & Imaging Scientific Computing Geographic Information Systems UNC Chapel Hill M. C. Lin
Applications in Computer Graphics l Visibility Culling l Global Illumination l Windowing & Clipping l Model Simplification l 3 D Polyhedral Morphing l Collision Detection UNC Chapel Hill M. C. Lin
Applications in Geometric Modeling l Boolean Operations l Surface Intersections l Finite Element Mesh Generation l Surface Fitting l Polyhedral Decomposition l Manufacturing & Tolerancing UNC Chapel Hill M. C. Lin
Applications in Robotics l Motion Planning – with known environment – sensor-based/online – non-holonomic – others l Assembly Planning l Grasping & Reaching UNC Chapel Hill M. C. Lin
Applications in Vision & Imaging l Shape/Template Matching l Pattern Matching l Structure from motions l Shape Representation (Core) l Motion Representation (KDS) UNC Chapel Hill M. C. Lin
Other Applications l Computing overlays of mixed data l Finding the nearest “landmarks” l Point location in mega database l Finding unions of molecular surfaces l VLSI design layout UNC Chapel Hill M. C. Lin
Topics List Geometric Data Structure, Algorithms, Implementation & Applications. Specifically l l l 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 l Homework: 30% (at least 3, mostly theoretical analysis) l Class Presentation: 20% (any topic related to the course) l Final Project: 50% (research oriented) l Active UNC Chapel Hill Class Participation: bonus M. C. Lin
Class Presentation By August 27, 1998 Choose a presentation topic & inform instructor (Check out the tentative lecture schedule & topics!) l One week before the presentation Submit a draft of presentation materials l One lecture before the presentation Hand out copies of reading materials, if not available online via your web site l One day before the presentation Post the presentation materials on the web (see the online instruction!!!) l UNC Chapel Hill M. C. Lin
Course Project l An improved implementation of a geometric algorithm l A synthesis of several techniques l In-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 l September 30, 1998 - Meet to discuss ideas l October 13, 1998 - Project Proposal and Inform the Instructor your project web site l November 12, 1998 - Progress Update l 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 l Develop path planning techniques for navigating in the virtual worlds l Investigate the use of various techniques (nearest neighbors, medial axis, etc. ) to construct a hierarchy bottom-up efficiently l Design visibility & simplification algorithm for dynamic environments (considering kinetic data structures, hierarchical representation, etc. ) And, more. . . l UNC Chapel Hill M. C. Lin
Geometric Algorithms & Software l 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 l NRL: Machine learning resources l l l l UNC Chapel Hill M. C. Lin
More Pointers l Jeff Erickson's Computational Geometry Page l David Eppstein's Geometry in Action l The Carleton Computational Geometry Resources Check them out!!! UNC Chapel Hill M. C. Lin
Weekly Reading Assignment Chapters 1 and 2 (Textbook: CG - A&A) UNC Chapel Hill M. C. Lin
Solving Geometric Problems l Thorough understanding of geometric properties of the problem l Proper application of algorithmic techniques and data structures UNC Chapel Hill M. C. Lin
An Example: Convex Hull l 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. l The convex hull CH(S) of a set S is the smallest convex set that contains S. l CH(S) is the intersection of all convex sets that contain S. UNC Chapel Hill M. C. Lin
Compute Convex Hulls l Input = set of points, S l 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 Px. P 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 l Degeneracies – multiple points on a line – multiple points on a plane – etc. l Robustness – incorrect results (invalid geometry) due to numerical (e. g. truncation) errors l Performance – speed – storage UNC Chapel Hill M. C. Lin
Improved Convex Hull l Incremental, divide & conquer, randomized and others (more later) l The convex hull of a set of points can be computed in O(n log n) time UNC Chapel Hill M. C. Lin