Skip to main content
Skip header

Algorithmisation of Geometrical Problems

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-4038/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Optional
Level of Course Unit *Second Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
SOJ10doc. Dr. Ing. Eduard Sojka
Summary
The following topics are discussed: The complexity of the problem and the complexity of the algorithm. Techniques of constructing effective geometrical algorithms. Effective data structures for solving the geometrical problems. Algorithmisation of selected geometrical problems: Point location in a planar map. Convex hull. Proximity problems. Voronoi diagram. Triangulation. Intersections. Visibility.
Learning Outcomes of the Course Unit
The student will understand the techniques of effectively solving the geometrical problems. He/she will be able to propose, implement and evaluate the corresponding algorithms.
Course Contents
Lectures:
1. The complexity of a problem and the complexity of an algorithm. The complexity in the worst case, expected complexity. Models of computation. RAM, algebraic decision tree.
2. Estimating the lower bound of the worst case time complexity by making use of the transformation to the point location problem in En. Using the transformation between problems for estimating the lower bound of time complexity.
3. The data structures for storing the points in multi-dimensional spaces (k-d trees, quad/oct trees, BSP trees, interval trees, range trees).
4. Fundamental techniques of creating the effective algorithms: the plane sweeping method, divide and conquer method, prune and search method, randomised algorithms.
5. Point location problem. Determining the mutual position of a point and a simple polygon. Determining the position of a point in a planar map. Applications.
6. Convex hull. Algorithms for determining the convex hull in the two-dimensional space.
7. Convex hull in multi-dimensional spaces. Applications of convex hull.
8. The problems of distance and proximity. Finding the closest neighbours in E2 and in En.
9. Voronoi diagram. Constructing the Voronoi diagram. Solving the proximity problems by the Voronoi diagram.
10. Triangulation. Delaunay triangulation and its properties. Algorithms for computing the Delaunay triangulation. Triangulation of a simple polygon.
11. Intersections. Finding the intersections of a set of line segments in E2. Intersection of simple polygons.
12. Visibility graph. Computing the visibility graph for planar problems. Applications.
13. On the application of the algorithms discussed in the course: Planning the motion of a mobile robot.
14. Application of modeling the terrain in geographic systems.

Exercises:
During the exercises, the students construct the algorithms that solve given problems. They explain their algorithms in a critical discussion, and evaluate the time and space complexities of the algorithms they proposed.
1. Transformation between problems and estimating the lower bound of time complexity.
2. The search trees for storing the points in multi-dimensional spaces.
3. Plane sweeping method and its applications.
4. Point location problems: point vs polygon, point vs planar map.
5. Convex hull algorithms in the two-dimensional space.
6. Convex hull in multi-dimensional spaces.
7. The problems of distance and proximity. Finding the nearest neighbours.
8. Constructing the Voronoi diagram and its applications.
9. Delaunay triangulation, its computation and properties.
10. Finding the intersections of two polygons.
11. Computing visibility graph for planar problems.
12. Planning the motion of a mobile robot.
13. Modeling the terrain in geographic systems.
14. Summary and obtaining the credit.
Recommended or Required Reading
Required Reading:
1. de Berg, M., van Kreveld M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications (Third edition), Springer-Verlag, ISBN: 978-3-540-77973-5, 2008.

1. de Berg, M., van Kreveld M., Overmars, M., Schwarzkopf, O.: Computational Geometry: Algorithms and Applications (Third edition), Springer-Verlag, ISBN: 978-3-540-77973-5, 2008.
2. Sojka, E.:, Počítačová geometrie, texty přednášek.
Recommended Reading:
1. Toth, C.D., Joseph O'Rourke, J., Goodman, J.E.: Handbook of Discrete and Computational Geometry, 3rd Edition, CRC Press, ISBN 9781498711395, 2017.
2. Devadoss, S.L., O'Rourke, J.: Discrete and Computational Geometry, Princeton University Press, ISBN: 9780691145532 2011.
3. O'Rourke, J.: Computational Geometry in C, Cambridge University Press, ISBN 0-521-44034-3, ISBN 0-521-44592-2, 1994.
4. Preparata, P.F., Shamos, M.I.: Computational geometry: An Introduction, Springer, ISBN 0-387-96131-3, 1985.
1. Toth, C.D., Joseph O'Rourke, J., Goodman, J.E.: Handbook of Discrete and Computational Geometry, 3rd Edition, CRC Press, ISBN 9781498711395, 2017.
2. Devadoss, S.L., O'Rourke, J.: Discrete and Computational Geometry, Princeton University Press, ISBN: 9780691145532 2011.
3. O'Rourke, J.: Computational Geometry in C, Cambridge University Press, ISBN 0-521-44034-3, ISBN 0-521-44592-2, 1994.
4. Preparata, P.F., Shamos, M.I.: Computational geometry: An Introduction, Springer, ISBN 0-387-96131-3, 1985.
Planned learning activities and teaching methods
Lectures, Tutorials
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Exercises evaluation and ExaminationCredit and Examination100 (100)51
        Exercises evaluationCredit25 12
        ExaminationExamination75 30