Computational Geometry
Offered By: Saint Petersburg State University via Coursera
Course Description
Overview
This course represents an introduction to computational geometry – a branch of algorithm theory that aims at solving problems about geometric objects. Its application areas include computer graphics, computer-aided design and geographic information systems, robotics, and many others. You will learn to apply to this end various algorithmic approaches, and asses their strong and weak points in a particular context, thus gaining an ability to choose the most appropriate method for a concrete problem.
We will cover a number of core computational geometry tasks, such as testing point inclusion in a polygon, computing the convex hull of a point set, intersecting line segments, triangulating a polygon, and processing orthogonal range queries. Special attention will be paid to a proper representation of geometric primitives and evaluation of geometric predicates, which are crucial for an efficient implementation of an algorithm.
Each module includes a selection of programming tasks that will help you both to strengthen the newly acquired knowledge and improve your competitive coding skills.
We will cover a number of core computational geometry tasks, such as testing point inclusion in a polygon, computing the convex hull of a point set, intersecting line segments, triangulating a polygon, and processing orthogonal range queries. Special attention will be paid to a proper representation of geometric primitives and evaluation of geometric predicates, which are crucial for an efficient implementation of an algorithm.
Each module includes a selection of programming tasks that will help you both to strengthen the newly acquired knowledge and improve your competitive coding skills.
Syllabus
- Point inclusion in a polygon
- How can it be determined whether you have selected a particular region on an interactive map? This problem is an excellent starting point to get introduced to computational geometry and a variety of its applications!
- Convex hulls
- Algorithmic processing of finely shaped objects may be computationally expensive. Can they be reasonably approximated, so as to decrease the handling costs? Convex hulls will come at hand!
- Intersections
- Geographic information systems typically store a vast amount of data in the form of various maps. How can be those efficiently combined to provide an adequate response to our requests? Get acquainted with the key algorithmic aspects underlying map overlay!
- Polygon triangulation
- In computer graphics, 3D-scenes are commonly represented by complex polygonal models. Do you wonder how those can be processed efficiently? Triangulation stays behind!
- Orthogonal range search
- How can computational geometry assist us in querying a database? You are about to learn the answer!
Taught by
Alexander S. Kulikov, Aliaksei Tolstsikau and Kira Vyatkina
Tags
Related Courses
Advanced App Development in AndroidImperial College London via Coursera Linear Algebra III: Determinants and Eigenvalues
Georgia Institute of Technology via edX Beg Photoshop/Digital Imaging
Chaffey College via California Community Colleges System Computational Photography
Georgia Institute of Technology via Coursera Computer Graphics
University of California, San Diego via edX