We may earn an affiliate commission when you visit our partners.
Course image
Kevin Buchin

Geometric algorithms are a category of computational methods used to solve problems related to geometric shapes and their properties. These algorithms deal with objects like points, lines, polygons, and other geometric figures.

Read more

Geometric algorithms are a category of computational methods used to solve problems related to geometric shapes and their properties. These algorithms deal with objects like points, lines, polygons, and other geometric figures.

In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study techniques and concepts needed for the design and analysis of geometric algorithms and data structures. Each technique and concept will be illustrated on the basis of a problem arising in one of the application areas mentioned above.

Goals:

At the end of this course participants should be able

- to decide which algorithm or data structure to use in order to solve a given basic geometric problem,

- to analyze new problems and come up with their own efficient solutions using concepts and techniques from the course.

Prerequisites:

In order to successfully take this course, you should already have a basic knowledge of algorithms and mathematics. Here's a short list of what you are supposed to know:

- O-notation, Ω-notation, Θ-notation; how to analyze algorithms

- Basic calculus: manipulating summations, solving recurrences, working with logarithms, etc.

- Basic probability theory: events, probability distributions, random variables, expected values etc.

- Basic data structures: linked lists, binary search trees, etc.

- Graph terminology

- Programming skills for practical assignments

Most of the material in this course is based on the following book:

M. de Berg, O. Cheong, M. van Kreveld, and M. Overmars. Computational Geometry: Algorithms and Applications (3rd edition). Springer-Verlag, 2008.

It is not mandatory to buy this book. However if participants want to know more than is offered in this course or want to have another look at the material discussed in the lectures, we recommend buying this book.

The video lectures contain a few very minor mistakes. A list of these mistakes can be found under resources. If you think you found an error, report a problem by clicking the square flag at the bottom of the lecture or quiz where you found the error.

Enroll now

What's inside

Syllabus

Plane Sweep Algorithms
In this module we will discuss an algorithm for line segment intersection that does not only depend on the input size, i.e. the number of line segments, but also on the output size, i.e. the number of intersections. This algorithm uses the Plane Sweep technique, which is applicable to many algorithmic problems in the Euclidean plane.
Read more
Voronoi diagrams and Delaunay triangulations
In this module we will introduce the notions of Voronoi diagrams and Delaunay triangulations and its properties. Furthermore we will an algorithm for constructing Delaunay triangulations using the technique of randomized incremental construction. We will see how to analyze these types of algorithms.
Orthogonal range searching
In this module we will introduce the problem of range searching. We will first look at the one dimensional case and later on generalize to higher dimensions. We will see two data structures that allow for range searching, namely KD Trees and Range Trees. We will compare them by looking at construction time, space usage and query time.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores Geometric Algorithms, which is standard in the robotics, computer graphics, virtual reality, and geographic information systems industries
Provides a strong foundation for learners new to Geometric Algorithms
Applies Geometric Algorithms in practical applications through a mix of videos, readings, and hands-on labs

Save this course

Save Geometric Algorithms to your list so you can find it easily later:
Save

Reviews summary

Geometric algorithms

According to students, Geometric Algorithms is a good course. While some students found the problems and lectures difficult to follow, others appreciated the interesting subject matter and good content.
Learners found the subject matter interesting.
"The subject is very interesting."
"This a really good course with a lot of good content and good explanations."
The course has good content.
"This a really good course with a lot of good content and good explanations."
Some learners found the course materials difficult to follow.
"Problems and definitions are really hard to understand and follow."
"Unable to follow the lectures unless finding other resources and lectures."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Geometric Algorithms with these activities:
Review calculus basics
Review basic concepts in calculus to strengthen your foundation for Geometric Algorithms.
Browse courses on Calculus
Show steps
  • Go over your notes from a previous calculus course or textbook
  • Practice solving basic calculus problems, such as finding derivatives and integrals
Follow an online tutorial on graph terminology
To become familiar with graph terminology, follow an online tutorial on the topic.
Show steps
  • Search for an online tutorial on graph terminology.
  • Follow the steps in the tutorial.
  • Take notes on the key concepts.
Explore resources for Geometric Algorithms
Seek out tutorials and online resources to enhance your understanding of Geometric Algorithms.
Show steps
  • Search for online tutorials on Geometric Algorithms
  • Find and read through documentation and articles on Geometric Algorithms
  • Watch video lectures or demonstrations on Geometric Algorithms
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
Join a study group for geometric algorithms
To reinforce your knowledge and gain diverse perspectives, join a study group dedicated to geometric algorithms.
Show steps
  • Find a group of classmates who are also taking the course.
  • Set up a regular meeting time.
  • Discuss the course material.
  • Work on practice problems together.
Solve practice problems on geometric algorithms
To practice applying the techniques and concepts, complete practice problems rooted in geometric algorithms.
Show steps
  • Find a website or textbook with practice problems on geometric algorithms.
  • Choose a set of problems to solve.
  • Solve the problems using the techniques and concepts you have learned.
  • Check your answers against the provided solutions.
  • Identify any areas where you need additional practice.
Solve practice problems on Geometric Algorithms
Engage in regular practice by solving problems related to Geometric Algorithms.
Show steps
  • Find practice problems and exercises on Geometric Algorithms
  • Attempt to solve the problems on your own
  • Check your solutions against provided answers or consult with others
Participate in study groups or online forums on Geometric Algorithms
Join study groups or online communities to connect with peers and discuss Geometric Algorithms.
Show steps
  • Find study groups or online forums related to Geometric Algorithms
  • Attend study sessions or participate in online discussions
  • Collaborate with peers on solving problems or sharing knowledge
Write a blog post on geometric algorithms
To solidify your understanding of the principles, try explaining geometric algorithms in a blog post.
Show steps
  • Choose a specific geometric algorithm to write about.
  • Explain the problem that the algorithm solves.
  • Describe the steps of the algorithm in detail.
  • Provide an example of how the algorithm can be used.
Create visual aids for Geometric Algorithms concepts
Solidify your understanding by creating visual representations of Geometric Algorithms concepts.
Show steps
  • Identify a Geometric Algorithms concept you want to visualize
  • Choose a visual format, such as a diagram, flowchart, or animation
  • Create your visual aid using appropriate tools or software
Read "Computational Geometry" by de Berg et al.
For in-depth knowledge, consider reading the recommended textbook on computational geometry.
Show steps
  • Purchase or borrow the book.
  • Read the chapters that correspond to the course material.
  • Work through the examples and exercises.
Develop a prototype for a geometric algorithm
To demonstrate your proficiency, build a prototype that showcases a geometric algorithm in practice.
Show steps
  • Choose a geometric algorithm to implement.
  • Design the prototype.
  • Develop the prototype.
  • Test the prototype.
  • Document the prototype.

Career center

Learners who complete Geometric Algorithms will develop knowledge and skills that may be useful to these careers:
Mathematician
Mathematicians study the properties of numbers, shapes, and other abstract concepts. They use this knowledge to develop new mathematical theories and solve problems in a variety of fields, including science, engineering, and finance. Geometric algorithms are a fundamental part of mathematics, and this course would provide a strong foundation for anyone who wants to pursue a career in mathematics.
Software Engineer
Software Engineers design, develop, and maintain software systems. They use their knowledge of computer science to create software that is reliable, efficient, and user-friendly. Geometric algorithms, such as those used in Computational Geometry, are used in a variety of software applications, including computer graphics, robotics, and data visualization.
Computer Vision Engineer
Computer Vision Engineers develop computer systems that can interpret and understand images and videos. This may include tasks such as object recognition, tracking, and segmentation. Familiarity with geometric algorithms, such as Plane Sweep Algorithms and Voronoi diagrams, allows Computer Vision Engineers to develop more efficient and accurate systems.
Robotics Engineer
Robotics Engineers design, build, and maintain robots. They use their knowledge of mechanical engineering, electrical engineering, and computer science to create robots that can perform a variety of tasks, from manufacturing to healthcare. Geometric algorithms, such as those used in Path Planning, are used to help robots navigate their environment and avoid obstacles.
Transportation Engineer
Transportation Engineers plan, design, and maintain transportation systems. They use their knowledge of civil engineering and traffic engineering to create transportation systems that are safe, efficient, and environmentally friendly. Geometric algorithms, such as those used in Network Analysis, are used to help Transportation Engineers to design and optimize transportation systems.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to solve problems in a variety of fields, including business, healthcare, and government. Geometric algorithms, such as those used in Plane Sweep Algorithms, can help Operations Research Analysts to develop more efficient and effective solutions to problems.
GIS Analyst
GIS Analysts use geographic information systems (GIS) to create and analyze maps and other data. GIS is used in a variety of fields, including planning, environmental science, and marketing. Geometric algorithms, such as those used in Orthogonal range searching, can help GIS Analysts to identify patterns and trends in data more efficiently.
Surveyor
Surveyors measure and map the Earth's surface. They use their knowledge of geometry and trigonometry to determine the location of property boundaries, roads, and other features. Geometric algorithms, such as those used in Delaunay triangulation, are used to create accurate maps and other visualizations of the Earth's surface.
Geographer
Geographers study the Earth's surface, climate, and human and animal life. They use this knowledge to solve problems and make recommendations for land use, conservation, and other issues. Geometric algorithms, such as Delaunay triangulation, are used to create maps and other visualizations that help Geographers to understand and communicate their findings.
Data Analyst
Data Analysts clean, analyze, and interpret large amounts of data to identify patterns and trends. They use this information to make recommendations for businesses and organizations. Geometric algorithms, such as those used in Orthogonal range searching, can help Data Analysts to identify patterns and trends in data more efficiently.
Geologist
Geologists study the Earth's physical structure and history. They use this knowledge to find and extract natural resources, such as oil and gas. Geometric algorithms, such as those used in Voronoi diagrams, are used to create models of the Earth's subsurface, which can help Geologists to identify potential drilling sites.
Cartographer
Cartographers plan, research, compile, and produce maps for use in traveling, planning and land and resource management as well as in engineering, education, business and other activities requiring accurate locational data. Familiarity with geometric algorithms, such as Delaunay triangulation, is a major component of map production, so taking this course would be a valuable addition to a Cartographer's skill set.
Product Designer
Product designers create and develop new products. They use their knowledge of design, engineering, and marketing to create products that are both functional and appealing to consumers. Geometric algorithms, such as those used in Voronoi diagrams, can help Product Designers to create products that are more efficient and aesthetically pleasing.
Information Scientist
Information Scientists design and manage information systems. They use their knowledge of information technology and data analysis to help organizations make better decisions. Familiarity with geometric algorithms, such as those used in Orthogonal range searching, allows Information Scientists to develop more efficient and accurate information systems.
Civil Engineer
Civil Engineers design and supervise the construction of roads, bridges, dams, airports, buildings and other structures. They also plan and manage water and wastewater systems and other infrastructure. Knowledge of geometric algorithms allows Civil Engineers to ensure that structures are stable and efficient. This course would be a beneficial addition to the skill set of a Civil Engineer.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Geometric Algorithms.
Provides a thorough introduction to the field of computational geometry and its applications. It covers the topics in-depth, providing a good foundation for understanding the concepts and algorithms discussed in the course.
This is the textbook that the course instructor recommends that all participants read. It covers a wide range of topics in computational geometry, including plane sweep algorithms, Voronoi diagrams, Delaunay triangulations, and orthogonal range searching.
Provides a comprehensive overview of algorithms for geometric problems. It covers a wide range of topics, including convex hulls, Delaunay triangulations, Voronoi diagrams, and point location.
Provides a comprehensive overview of algorithms for intersecting geometric objects, with a focus on line segment intersection algorithms. It covers the Plane Sweep technique discussed in the course, and provides additional insights and techniques for solving geometric intersection problems.
Focuses specifically on Voronoi diagrams and Delaunay triangulations, providing a deep dive into these topics. It covers the randomized incremental construction algorithm mentioned in the course, and explores advanced concepts and applications in areas such as computational biology and computer graphics.
Provides a comprehensive treatment of range searching algorithms and data structures. It covers KD Trees and Range Trees mentioned in the course, and provides additional techniques and applications in areas such as spatial databases and data mining.
Provides an introduction to computational geometry in C. It covers a wide range of topics, including convex hulls, Delaunay triangulations, Voronoi diagrams, and point location.
Provides a practical introduction to computational geometry algorithms using C++. It covers the basics of geometric algorithms, and includes exercises and examples that can be implemented in C++.
Presents geometric algorithms through a collection of case studies. It covers a wide range of topics, including convex hulls, Delaunay triangulations, and visibility computations. The case study approach provides a practical understanding of how geometric algorithms are used to solve real-world problems.
This handbook provides a comprehensive overview of computational geometry. It covers a wide range of topics, including algorithms, data structures, and applications. While it may not be as focused on the specific topics covered in the course, it valuable reference for anyone interested in the field.
Provides a more introductory treatment of computational geometry than the book by the same authors mentioned earlier. It covers the basics of geometric algorithms and data structures, and good starting point for anyone new to the field.
Provides a comprehensive overview of computational geometry algorithms and techniques. It covers a wide range of topics, including convex hulls, Delaunay triangulations, and Voronoi diagrams. While it is more advanced than some other books on this list, it valuable reference for anyone interested in the field.
Focuses on geometric algorithms used in computer vision. It covers topics such as image registration, feature matching, and 3D reconstruction. While it is not directly related to the topics covered in the course, it provides insights into the practical applications of computational geometry in computer vision.
Provides a good background in the mathematical foundations of geometry for computer graphics. It covers topics such as linear algebra, projective geometry, and differential geometry. While it is not directly related to the topics covered in the course, it provides a strong foundation for understanding the geometric concepts used in computer graphics.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser