Course details
Computational Geometry
VGE Acad. year 2025/2026 Summer semester 5 credits
Linear algebra, geometric algebra, affine an projective geometry, principle of duality, homogeneous and parallel coordinates, point in polygon testing, convex hull, intersection problems, range searching, space partitioning methods, 2D/3D triangulation, Delaunay triangulation, proximity problem, Voronoi diagrams, tetrahedral meshing, surface reconstruction, point clouds, volumetric data, mesh smoothing and simplification, linear programming.
Guarantor
Course coordinator
Language of instruction
Completion
Time span
- 26 hrs lectures
- 26 hrs projects
Assessment points
- 51 pts final exam (24 pts written part, 27 pts test part)
- 31 pts projects
- 18 pts homework
Department
Lecturer
Learning objectives
- Student will get acquaint with the typical problems of computational geometry.
- Student will understand the existing solutions and their applications in computer graphics and machine vision.
- Student will get deeper knowledge of mathematics in relation to computer graphics.
- Student will learn the principles of geometric algebra including its application in graphics and vision related tasks.
- Student will practice programming, problem solving and defence of a small project.
- Student will learn terminology in English language.
- Student will learn to work in a team and present/defend results of their work.
- Student will also improve his programming skills and his knowledge of development tools.
Prerequisite knowledge and skills
- Basic knowledge of linear algebra and geometry.
- Good knowledge of computer graphics principles.
- Good knowledge of basic abstract data types and fundamental algorithms.
Study literature
- Csaba D. Toth, Joseph O'Rourke, Jacob E. Goodman: Handbook of Discrete and Computational Geometry, 3rd Edition, 2017.
- Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars: Computational Geometry: Algorithms and Applications, 3rd. ed., Springer-Verlag, 2008.
- Leo Dorst, Daniel Fontijne, Stephen Mann: Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry, rev. ed., Morgan Kaufmann, 2007.
- Geometric Algebra (based on Clifford Algebra), http://staff.science.uva.nl/~leo/clifford/
- Suter, J.: Geometric Algebra Primer, 2003, http://www.jaapsuter.com/geometric-algebra.pdf
- Gaigen, https://github.com/Sciumo/gaigen
- Computational Geometry on the Web, http://cgm.cs.mcgill.ca/~godfried/teaching/cg-web.html
Fundamental literature
- Leo Dorst, Daniel Fontijne, Stephen Mann: Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry, rev. ed., Morgan Kaufmann, 2007.
- Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars: Computational Geometry: Algorithms and Applications, 3rd. ed., Springer-Verlag, 2008.
Syllabus of lectures
- Introduction to computational geometry: typical problems in computer graphics and machine vision, algorithm complexity and robustness, numerical precision and stability.
- Overview of linear algebra and geometry. Why is it necessary to know this?
- Range searching and space partitioning methods: range tree; quad tree, k-d tree, BSP tree. Applications in machine vision.
- Coordinate systems and homogeneous coordinates. Applications in computer graphics.
- Point in polygon testing, polygon triangulation, convex hull in 2D/3D and practical applications.
- Collision detection and the algorithm GJK.
- Proximity problem: closest pair; nearest neighbor; Voronoi diagrams.
- Affine and projective geometry. Epipolar geometry. Applications in 3D machine vision.
- Triangulation in 2D/3D, Delaunay triangulation, tetrahedral meshing.
- Principle of duality and its applications.
- Surface reconstruction from point clouds and volumetric data.
- Basics and of geometric algebra. Quaternions. Applications in computer graphics.
- More computational geometry problems and modern trends. Linear programming: basic notion and applications; half-plane intersection.
Syllabus - others, projects and individual work of students
Team or individually assigned projects.
Progress assessment
- Preparing for lectures (readings): up to 18 points
- Realized and defended project: up to 31 points
- Written final exam: up to 51 points
- Minimum for final written examination is 17 points.
- Minimum to pass the course according to the ECTS assessment - 50 points.
The evaluation includes reading scientific articles, individual project, and the final exam.
Course inclusion in study plans