OF THE COURSE PRESENTATION - dccg.upc.edudccg.upc.edu/.../uploads/2018/08/GeoC-Presentation.pdf ·...

65
Vera Sacrist´ an Rodrigo Silveira Computational Geometry Facultat d’Inform` atica de Barcelona Universitat Polit` ecnica de Catalunya PRESENTATION OF THE COURSE

Transcript of OF THE COURSE PRESENTATION - dccg.upc.edudccg.upc.edu/.../uploads/2018/08/GeoC-Presentation.pdf ·...

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