computational geometry (master course) computational...

20
Yazd Univ. Computational Geometry Course Outline Textbook Grading Prerequisties Introduction What is CG? Research on CG Journals Conferences Computational Geometry (Master Course) Mohammad Farshi Department of Computer Science, Yazd University 1393-1 1 / 17

Upload: others

Post on 17-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Computational Geometry(Master Course)

Mohammad Farshi

Department of Computer Science,Yazd University

1393-1

1 / 17

Page 2: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Textbook:

Mark de Berg, Otfried Cheong, Marc van Kreveld, MarkOvermars, Computational Geometry Algorithms andApplications, 3rd Edition, Springer-Verlag BerlinHeidelberg, 2008.

2 / 17

Page 3: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Grading:

Grading:Midterm exam: 6Final exam: 7Presentation: 3Homework: 4Important: For passing the course, one should getat least 8 from midterm+final exams.

3 / 17

Page 4: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Online Resources:

CG on Web:Course Webpage:cs.yazd.ac.ir/farshi/Teaching/CG3931/CG.html

(Jeff Erickson)compgeom.cs.uiuc.edu/∼jeffe/compgeom/courses.html

(David Eppstein) www.ics.uci.edu/∼eppstein/geom.html

(Godfried Toussaint)www-cgrl.cs.mcgill.ca/∼godfried/teaching/cg-web.html

Computational Geometry Pageswww.computational-geometry.org

and much more ...

4 / 17

Page 5: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Prerequisites:

What you need to know:Basic Algorithms and Algorithm Analysis: O, Θnotations, sorting, searching.Basic Data Structures: Priority Queue (Heap), BinarySearch Tree, ... and their analysis.Basic Probability theory: Expected value, ...Not needed: Application of CG, programming,knowledge in Geometry.

5 / 17

Page 6: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Prerequisites:

6 / 17

Page 7: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Introduction

7 / 17

Page 8: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Computational Geometryis a branch of computer science devoted to the studyof algorithms which can be stated in terms ofgeometry.is a subfield of the Design and Analysis of Algorithmsdeals with efficient data structures and algorithms forgeometric problemsis only about 30 years oldstarted out by developing solid theoreticalfoundations, but became more and more appliedover the last years

8 / 17

Page 9: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

ApplicationsComputer graphics,Computer-aided design and manufacturing(CAD/CAM),Robotics (motion planning and visibility problems),Geographic Information Systems (GIS) (geometricallocation and search, route planning),Integrated Circuit design (IC geometry design andverification),and so on.

9 / 17

Page 10: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

The main branches of computational geometry are:Combinatorial computational geometry, alsocalled algorithmic geometry, which deals withgeometric objects as discrete entities. Agroundlaying book in the subject by Preparata andShamos dates the first use of the term"computational geometry" in this sense by 1975.Numerical computational geometry, also calledmachine geometry, computer-aided geometricdesign (CAGD), or geometric modeling, which dealsprimarily with representing real-world objects informs suitable for computer computations inCAD/CAM systems. This branch may be seen as afurther development of descriptive geometry and isoften considered a branch of computer graphics orCAD.

10 / 17

Page 11: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Combinatorial computational geometryThe primary goal is to develop efficient algorithmsand data structures for solving problems stated interms of basic geometrical objects: points, linesegments, polygons, polyhedra, etc.Example: The closest pair problem: Given n points inthe plane, find the two with the smallest distancefrom each other. The brute-force algorithm takesO(n2) time. A classic result: an algorithm that takesO(n log n) time. Also randomized algorithms thattake O(n) expected time, as well as a deterministicalgorithm that takes O(n log logn) time.Computational geometry focuses heavily oncomputational complexity since the algorithms aremeant to be used on very large data sets containingtens or hundreds of millions of points.

11 / 17

Page 12: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Combinatorial computational geometryThe primary goal is to develop efficient algorithmsand data structures for solving problems stated interms of basic geometrical objects: points, linesegments, polygons, polyhedra, etc.Example: The closest pair problem: Given n points inthe plane, find the two with the smallest distancefrom each other. The brute-force algorithm takesO(n2) time. A classic result: an algorithm that takesO(n log n) time. Also randomized algorithms thattake O(n) expected time, as well as a deterministicalgorithm that takes O(n log logn) time.Computational geometry focuses heavily oncomputational complexity since the algorithms aremeant to be used on very large data sets containingtens or hundreds of millions of points.

11 / 17

Page 13: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Combinatorial computational geometryThe primary goal is to develop efficient algorithmsand data structures for solving problems stated interms of basic geometrical objects: points, linesegments, polygons, polyhedra, etc.Example: The closest pair problem: Given n points inthe plane, find the two with the smallest distancefrom each other. The brute-force algorithm takesO(n2) time. A classic result: an algorithm that takesO(n log n) time. Also randomized algorithms thattake O(n) expected time, as well as a deterministicalgorithm that takes O(n log logn) time.Computational geometry focuses heavily oncomputational complexity since the algorithms aremeant to be used on very large data sets containingtens or hundreds of millions of points.

11 / 17

Page 14: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Problem classesStatic problems

1 Convex hull: Given a set of points, find the smallestconvex polyhedron/polygon containing all the points.

2 Line segment intersection: Find the intersectionsbetween a given set of line segments.

3 Voronoi diagram: Given a set of points, partition thespace according to which point is closest.

4 Closest pair of points: Given a set of points, find thetwo with the smallest distance from each other.

5 Euclidean shortest path: Connect two points in aEuclidean space (with polyhedral obstacles) by ashortest path.

6 Polygon triangulation: Given a polygon, partition itsinterior into triangles

12 / 17

Page 15: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Problem classesGeometric query problems

1 Range searching: Preprocess a set of points, inorder to efficiently count the number of points insidea query region.

2 Point location: Given a partitioning of the space intocells, produce a data structure that efficiently tells inwhich cell a query point is located.

3 Nearest neighbor: Preprocess a set of points, inorder to efficiently find which point is closest to aquery point.

4 Ray tracing: Given a set of objects in space, producea data structure that efficiently tells which object aquery ray intersects first.

13 / 17

Page 16: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Problem classesDynamic problemsVariations

Point in polygon: Decide whether a point is inside oroutside a given polygon.

14 / 17

Page 17: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

What is CG?

Problem classesDynamic problemsVariations

Point in polygon: Decide whether a point is inside oroutside a given polygon.

14 / 17

Page 18: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Journals:

Journals1 Computational Geometry: Theory and Applications

(CGTA)2 Discrete & Computational Geometry (DCG)3 International Journal of Computational Geometry

and Applications (IJCGA)4 Journal of Computational Geometry (NEW)5 Other algorithmic journals

15 / 17

Page 19: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

Conferences:

Conferences1 ACM Symposium on Computational Geometry

(SOCG)2 Canadian Conference on Computational Geometry

(CCCG)3 European Workshop on Computational Geometry

(EWCG)4 International Conference on Computational

Geometry and Computer Vision5 Others, like SODA, STOC, ESA.

16 / 17

Page 20: Computational Geometry (Master Course) Computational Geometrycs.yazd.ac.ir/farshi/Teaching/CG3931/Slides/Intro.pdf · The main branches of computational geometry are: Combinatorial

Yazd Univ.

ComputationalGeometry

Course OutlineTextbook

Grading

Prerequisties

IntroductionWhat is CG?

Research on CGJournals

Conferences

17 / 17