3D Polyhedral Morphing - University of North Carolina at Chapel Hill
Download
Report
Transcript 3D Polyhedral Morphing - University of North Carolina at Chapel Hill
COMP290-72: Computational
Geometry and Applications
Tues/Thurs 2:00pm - 3:15pm (SN 325)
Ming C. Lin
[email protected]
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’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, astrophysics, 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 Culling
Global Illumination
Windowing & Clipping
Model Simplification
3D Polyhedral Morphing
Collision Detection
UNC Chapel Hill
M. C. Lin
Applications in Geometric Modeling
Boolean Operations
Surface Intersections
Finite Element Mesh Generation
Surface Fitting
Polyhedral Decomposition
Manufacturing & Tolerancing
UNC Chapel Hill
M. C. Lin
Applications in Robotics
Motion Planning
– with known environment
– sensor-based/online
– non-holonomic
– others
Assembly Planning
Grasping & Reaching
UNC Chapel Hill
M. C. Lin
Applications in Vision & Imaging
Shape/Template Matching
Pattern Matching
Structure from motions
Shape Representation (Core)
Motion Representation (KDS)
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
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 techniques
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
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
Weekly Reading Assignment
Chapters 1 and 2
(Textbook: CG - A&A)
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
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
UNC Chapel Hill
M. C. Lin