Vera SacristanRodrigo Silveira
Computational Geometry
Facultat d’Informatica de Barcelona
Universitat Politecnica de Catalunya
PRESENTATIONOF THE COURSE
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
The kernel of Computational Geometry is the design and analysisof efficient algorithms to solve geometric problems.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
The kernel of Computational Geometry is the design and analysisof efficient algorithms to solve geometric problems.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
What kind of geometric problems?
The kernel of Computational Geometry is the design and analysisof efficient algorithms to solve geometric problems.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
What kind of geometric problems?Geometric problems that underlie a widevariety of applications
The kernel of Computational Geometry is the design and analysisof efficient algorithms to solve geometric problems.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
What kind of geometric problems?Geometric problems that underlie a widevariety of applicationsLike what?
The kernel of Computational Geometry is the design and analysisof efficient algorithms to solve geometric problems.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
What kind of geometric problems?Geometric problems that underlie a widevariety of applicationsLike what?
Like for example ...
The kernel of Computational Geometry is the design and analysisof efficient algorithms to solve geometric problems.
AIR TRAFFIC CONTROL
Detect the pair of airplanes that are in most imminent danger of collision among those whoshow up on the screen of an air controller.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
AUTOMATIC VOICE RECOGNITION
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
Good morning!Welcome to 2SEAS...
Please, say the given name andthe last name of the person youwhish to speak to...
John Smith
Your call is being transfe-red to John Smith.
AUTOMATIC VOICE RECOGNITION
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
AUTOMATIC VOICE RECOGNITION
In general, recognizing a pattern consists inclassifying an element (in the case of voicerecognition, some sounds) detecting the mostsimilar (the closest, in some sense) of someknown patterns.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
AUTOMATIC VOICE RECOGNITION
In general, recognizing a pattern consists inclassifying an element (in the case of voicerecognition, some sounds) detecting the mostsimilar (the closest, in some sense) of someknown patterns.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
AUTOMATIC VOICE RECOGNITION
In general, recognizing a pattern consists inclassifying an element (in the case of voicerecognition, some sounds) detecting the mostsimilar (the closest, in some sense) of someknown patterns.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
AUTOMATIC VOICE RECOGNITION
In general, recognizing a pattern consists inclassifying an element (in the case of voicerecognition, some sounds) detecting the mostsimilar (the closest, in some sense) of someknown patterns.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
How does your GPS navigator knowwhich objects (streets, places of interest,etc.) to show?
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
How does your GPS navigator knowwhich objects (streets, places of interest,etc.) to show?
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
How does your GPS navigator knowwhich objects (streets, places of interest,etc.) to show?
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
How does your GPS navigator knowwhich objects (streets, places of interest,etc.) to show?
This geometric problem is calledwindowing.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
How does it compute the best ways toget from one place to another?
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROAD NAVIGATION (with GPS)
How does it compute the best ways toget from one place to another?
This is known as the shortest pathproblem.
TOPOGRAPHICAL DATA INTERPOLATION
From the altitude data of a sample of points in a terrain, obtaining an approximation of theterrain as a continuous function, by interpolating the values of the altitude of the remainingpoints.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
TOPOGRAPHICAL DATA INTERPOLATION
From the altitude data of a sample of points in a terrain, obtaining an approximation of theterrain as a continuous function, by interpolating the values of the altitude of the remainingpoints.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
VIRTUAL NAVIGATION: HIDING NON VISIBLE PORTIONS OF A SCENE
Represent a realistic scene, by showing on the screen only the portions of the scene which arevisible from the viewpoint.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
VIRTUAL NAVIGATION: HIDING NON VISIBLE PORTIONS OF A SCENE
Represent a realistic scene, by showing on the screen only the portions of the scene which arevisible from the viewpoint.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROBOTICS: MOTION PLANNING
Find the shortest path between two points, avoiding obstacles
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROBOTICS: MOTION PLANNING
Find the shortest path between two points, avoiding obstacles
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROBOTICS: MOTION PLANNING
Find the shortest path between two points, avoiding obstacles
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
ROBOTICS: MOTION PLANNING
Find the shortest path between two points, avoiding obstacles
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
CAD and CAM: MODELLING OBJECTS
Design geometric objects by an appropriate discretization. Store the geometric informationin a structured and efficient way.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
CAD and CAM: MODELLING OBJECTS
Design geometric objects by an appropriate discretization. Store the geometric informationin a structured and efficient way.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
CAD and CAM: MODELLING OBJECTS
Design geometric objects by an appropriate discretization. Store the geometric informationin a structured and efficient way.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
CAD and CAM: MODELLING OBJECTS
Design geometric objects by an appropriate discretization. Store the geometric informationin a structured and efficient way.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
COLLISION DETECTION
Detect whether or not the intersection of two objects in the plane or in 3D space is empty.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
COLLISION DETECTION
Detect whether or not the intersection of two objects in the plane or in 3D space is empty.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
COLLISION DETECTION
Detect whether or not the intersection of two objects in the plane or in 3D space is empty.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PACKING
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
Given a set of objects (luggage), decide whether or not it is possible to pack them in a givenspace (trunk) and, in the affirmative, compute how this can be done.
PACKING
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
Given a set of objects (luggage), decide whether or not it is possible to pack them in a givenspace (trunk) and, in the affirmative, compute how this can be done.
RECONSTRUCTING 3D OBJECTS FROM PLANE SECTIONS
Develop efficient methods to reconstruct three-dimensional shapes from the information of acertain number of plane sections of the original objects.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
RECONSTRUCTING 3D OBJECTS FROM PLANE SECTIONS
Develop efficient methods to reconstruct three-dimensional shapes from the information of acertain number of plane sections of the original objects.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
RECONSTRUCTING 3D OBJECTS FROM PLANE SECTIONS
Develop efficient methods to reconstruct three-dimensional shapes from the information of acertain number of plane sections of the original objects.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
RECONSTRUCTING 3D OBJECTS FROM PLANE PROJECTIONS
Develop efficient methods to reconstruct three-dimensional shapes from the information of acertain number of plane projections of the original objects.
• Computer Graphics: realistic visualization, modellling, ...
• Automated processes: computer vision, voice recognition, automatic reading, robotics, ...
• Geographics information systems, air traffic control
• Design and manufacturing
• 3D reconstruction from 2D information
• Molecular biology
• Astrophysics
• VLSI
• Statistics, operations research
• . . .
FIELDS OF APPLICATION
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
The problems posed in the previous applications have some elements in common:
• Geometric nature of the information
• Big amount of data
• The geometric problem is discrete
• Need for efficient solutions (in time and space)
COMPUTATIONAL GEOMETRY
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
The problems posed in the previous applications have some elements in common:
• Geometric nature of the information
• Big amount of data
• The geometric problem is discrete
• Need for efficient solutions (in time and space)
The kernel of Computational Geometry is the design andanalysis of efficient algorithms to solve geometric problems.
COMPUTATIONAL GEOMETRY
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
The problems posed in the previous applications have some elements in common:
• Geometric nature of the information
• Big amount of data
• The geometric problem is discrete
• Need for efficient solutions (in time and space)
The kernel of Computational Geometry is the design andanalysis of efficient algorithms to solve geometric problems.
• Analyze the problem and understand its geometric component
• Discretize the problem (if it is not discrete)
• Exploit the geometric characteristics of the problem
• Find efficient algorithms
• Store in appropriate data structures
COMPUTATIONAL GEOMETRY
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
AN EXAMPLE
Given n points in the plane (population) find the optimal location of a service to attend thispopulation (antenna, hospital, supermarket,...).
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
AN EXAMPLE
Given n points in the plane (population) find the optimal location of a service to attend thispopulation (antenna, hospital, supermarket,...).
Given (x1, y1), . . . (xn, yn), find (x, y) achieving min(x,y)∈R2
maxi=1...n
(x− xi)2 + (y − yi)
2.
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
AN EXAMPLE
Given n points in the plane (population) find the optimal location of a service to attend thispopulation (antenna, hospital, supermarket,...).
Given (x1, y1), . . . (xn, yn), find (x, y) achieving min(x,y)∈R2
maxi=1...n
(x− xi)2 + (y − yi)
2.
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
AN EXAMPLE
Given n points in the plane (population) find the optimal location of a service to attend thispopulation (antenna, hospital, supermarket,...).
Given (x1, y1), . . . (xn, yn), find (x, y) achieving min(x,y)∈R2
maxi=1...n
(x− xi)2 + (y − yi)
2.
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
AN EXAMPLE
Given n points in the plane (population) find the optimal location of a service to attend thispopulation (antenna, hospital, supermarket,...).
Given (x1, y1), . . . (xn, yn), find (x, y) achieving min(x,y)∈R2
maxi=1...n
(x− xi)2 + (y − yi)
2.
This problem is difficult to solve using analyti-cal techniques.
But it can be discretized.
This allows an algorithmic solution.
The cost of the algorithm depends upon thenumber of input points.
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
A BRIEF HISTORY OF COMPUTATIONAL GEOMETRY
Name initially used in different contexts
• In Minskys book Perceptrons (1969) it meant pattern recognition.
• In Forrest paper (1971) it meant curves and surfaces for geometric modeling.
• Shamos PhD Thesis Computational geometry (1975) uses the name for the first timeas we understand it today.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
A BRIEF HISTORY OF COMPUTATIONAL GEOMETRY
Name initially used in different contexts
• In Minskys book Perceptrons (1969) it meant pattern recognition.
• In Forrest paper (1971) it meant curves and surfaces for geometric modeling.
• Shamos PhD Thesis Computational geometry (1975) uses the name for the first timeas we understand it today.
Design and analysis of efficient algorithms to solve geometric problems.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
A BRIEF HISTORY OF COMPUTATIONAL GEOMETRY
Name initially used in different contexts
• In Minskys book Perceptrons (1969) it meant pattern recognition.
• In Forrest paper (1971) it meant curves and surfaces for geometric modeling.
• Shamos PhD Thesis Computational geometry (1975) uses the name for the first timeas we understand it today.
Design and analysis of efficient algorithms to solve geometric problems.
Better names are possible (and are sometimes used)
• Algorithmic geometry
• Geometric algorithms
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
A BRIEF HISTORY OF COMPUTATIONAL GEOMETRY
How it started
• Geometric algorithms have been around for a while
– Euclid constructions in The Elements (300 BC)
– Descartes Cartesian geometry (17th century)
• Computers brought renewed interest
– 50s first graphics program (for hidden line removal)
– First CAD (Computer-aided design) programs
• ... and modified its characteristics
– massive amount of data
– need of efficiency
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
A BRIEF HISTORY OF COMPUTATIONAL GEOMETRY
Some milestones
• 1975: Michael Shamos PhD thesis Problems in Computati-onal Geometry.
• 1975-1985: Increasing interest. Most basic algorithms datefrom this period.
• 1983: First European Workshop on Computational Geo-metry
• 1985: First Annual Symposium on Computational GeometryAlso: first textbook (today, more than 5)
• 1996: CGAL: first serious implementation of a robust geo-metric algorithms library
• 1997: First handbook on the topic (second in 2000)
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
A BRIEF HISTORY OF COMPUTATIONAL GEOMETRY
Today
• Recognized discipline within Theoretical Computer Science.
• “Large” active community. Many research groups in the USA, Canada, Europe, Mxico,Australia,...
Here: Barcelona, Madrid, Sevilla, Zaragoza, Girona, Valladolid,
• 4 specialized journals devoted to it.
• 3 annual specialized conferences.
• An important presence in algorithms and discrete math conferences.
PRESENTATION OF THE COURSE
Goals
• Knowing the wide range of problems studied in Computational Geometry and its solu-tions, as well as its applications.
• Understanding the power of combining geometric tools with the most appropriate datastructures and algorithmic paradigms.
• Seeing in action several algorithmic paradigms and data structures useful in geometricproblems.
• Applying geometric results to real problems.
GEOC
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GEOC
Syllabus
1. Introduction to Computational Geometry (2 h)
2. A basic tool (relative position) (2 h)
3. Sweep-line algorithms (1 h)
4. Geometric problems on polygons (2 h)
5. Convex hulls. Duality. Intersection of halfplanes. Linear programming (4 h)
6. Triangulating polygons (2 h)
7. Proximity. Triangulating sets of points (8 h)
8. Line arrangements (2 h)
9. Point location (2 h)
10. Students’ presentations (4 h)
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GEOC
Methodology
• Theory: exposition of the subject by the instructor and, later on, by the students.
• Problems: previously assigned, they will be presented in class by the students.
• Lab: implementing some of the algorithms presented in class.
Evaluation
• 0.2 * Problems + 0.2 * Theory + 0.35 * Lab + 0.25 * Exam
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GEOC
Bibliography
• M. de Berg, O. Cheong, M. van Kreveld, M. Overmars, Computational Geometry:Algorithms and Applications (3rd rev. ed.), Springer, 2008.
• J. O’Rourke, Computational Geometry in C (2nd ed.), Cambridge University Press,1998.
• F. Preparata, M. Shamos, Computational Geometry: An introduction (reviseded.), Springer, 1993.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GEOC
Complementary bibliography
• J-D. Boissonnat, M. Yvinec, Algorithmic Geometry, Cambridge University Press,1998.
• J. R. Sack, J. Urrutia, Handbook on computational geometry, Elsevier, 2000.
• J. E. Goodman, J. O’Rourke, Handbook on Discrete and Computational Geometry,CRC Press, 1997.
• S. Devadoss, J. O’Rourke, Discrete and Computational Geometry, Princeton Uni-versity Press, 2011.
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GEOC
Further informationhttp://www-ma2.upc.es/vera/teaching/courses/computational-geometry/
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GEOC
Office hours: You are welcome to drop by our office (please, announce your visit in advance!).You can also ask for advice through e-mail.
Vera Sacristn: Omega building, 4th floor, Office 432. [email protected] Silveira: Omega building, 4th floor, Office 420. [email protected]
Further informationhttp://www-ma2.upc.es/vera/teaching/courses/computational-geometry/
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC
GETTING TO KNOW A BIT MORE
Here are some links that can help you getting an idea of what Computational Geometry is:
For the lazy, a short and clear article explaining what Computational Geometry is, and whatit applies to:
http://geomalgorithms.com/faq.html
For those who want to see it in action, many applets made by the Computational Geometrystudents of the Facultad de Informtica de Madrid:
http://www.dma.fi.upm.es/recursos/aplicaciones/geometria computacional y grafos/
For those who want to know it all, here are some web pages with more information:Computational Geometry Pages (Jeff Erickson):
http://jeffe.cs.illinois.edu/compgeom/compgeom.htmlGeometry in Action (David Eppstein):
http://www.ics.uci.edu/∼eppstein/geom.htmlComputational Geometry links (Godfried Toussaint):
http://www-cgrl.cs.mcgill.ca/∼godfried/teaching/cg-web.html
PRESENTATION OF THE COURSE
Computational Geometry, Facultat d’Informatica de Barcelona, UPC