Download presentation
Presentation is loading. Please wait.
Published byMariah Hunt Modified over 9 years ago
1
UNC Chapel Hill M. C. Lin COMP290-72: Computational Geometry and Applications Tues/Thurs 2:00pm - 3:15pm (SN 325) Ming C. Lin lin@cs.unc.edu http://www.cs.unc.edu/~lin http://www.cs.unc.edu/~lin/290-72.html
2
UNC Chapel Hill M. C. Lin Computational Geometry The term first appeared in the 70’s Originally referred to computational aspects of solid/geometric modeling Later as the field of algorithm design and analysis of discrete geometry Algorithmic bases for many scientific & engineering disciplines (GIS, astro- physics, robotics, CG, design, etc.)
3
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)
4
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
5
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
6
UNC Chapel Hill M. C. Lin Applications in Computer Graphics Visibility Culling Global Illumination Windowing & Clipping Model Simplification 3D Polyhedral Morphing Collision Detection
7
UNC Chapel Hill M. C. Lin Applications in Geometric Modeling Boolean Operations Surface Intersections Finite Element Mesh Generation Surface Fitting Polyhedral Decomposition Manufacturing & Tolerancing
8
UNC Chapel Hill M. C. Lin Applications in Robotics Motion Planning –with known environment –sensor-based/online –non-holonomic –others Assembly Planning Grasping & Reaching
9
UNC Chapel Hill M. C. Lin Applications in Vision & Imaging Shape/Template Matching Pattern Matching Structure from motions Shape Representation (Core) Motion Representation (KDS)
10
UNC Chapel Hill M. C. Lin Other Applications Computing overlays of mixed data Finding the nearest “landmarks” Point location in mega database Finding unions of molecular surfaces VLSI design layout
11
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
12
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
13
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!!!)
14
UNC Chapel Hill M. C. Lin Course Project An improved implementation of a geometric algorithm A synthesis of several techniques In-depth analysis on a chosen subject (at least 25 state-of-the-art papers) Novel, research-oriented
15
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
16
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......
17
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
18
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!!!
19
UNC Chapel Hill M. C. Lin Weekly Reading Assignment Chapters 1 and 2 (Textbook: CG - A&A)
20
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
21
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.
22
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)
23
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)
24
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
25
UNC Chapel Hill M. C. Lin Improved Convex Hull Incremental, divide & conquer, randomized and others (more later) The convex hull of a set of points can be computed in O(n log n) time
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.