3D Polyhedral Morphing - University of North Carolina at Chapel Hill

advertisement
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
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
Download