Projects for 2024-2025 Spring Semestr


Graduate Students:

I strongly encourage you to do a course project related to your research topic. We can arrange a meeting with you and your supervisor to determine such a project topic related to both your research topic and computational geometry concepts. Still, I provided a list of possible project topics below for those who cannot decide on a project related with their research topic.


Higher Order Voronoi Diagrams for k-Nearest Neighbor Queries (2 Students)

.... .....

Project Description


The Intersection of Axis Parallel Rectangular Prisms in 3D (2 Students)

... and ...

Project Description


Implementation of Parallel Delaunay Triangulation (2 Students)

You can choose any parallel programming platform to implement the Parallel Delaunay Triangulation and make experiments for the computational performance of your implementation, such as the speed-ups for different number of processors, for various test data.

Please see the description of a divide-and-conquer algorithm by Guy Blelloch, Gary L. Miller, Dafna Talmorat, Implementation of Parallel Delaunay Triangulation

... and ...

Project Description


Robot Path Planning in Dynamic Environments Using Voronoi Diagrams (2 Students)

Please see the paper below for an implementation for mobile robots navigating in complex and dynamic environments by Ben Beklisi Kwame Ayawli, Xue Mei, Mouquan Shen, Albert Yaw Appiah, Frimpong Kyeremeh, Mobile Robot Path Planning in Dynamic Environment Using Voronoi Diagram and Computation Geometry Technique

... and ...

Project Description


Selecting An Open Problem from the Open Problems Project (2 Students)

The Open Problems Project

edited by Erik D. Demaine, Joseph S. B. Mitchell, Joseph O'Rourke

Project Description

... and ...


Undergraduate Students:

All undergraduate students will do the same project.


Implementing Two Voronoi Diagram Computation Algorithms With Dynamic Manipulation and Comparing Their Performance (2 Students)

You are going to implement a program for calculating and visualizing the Voronoi Diagram of a set of points in 2D using the following two approaches:

Note that as Delaunay Triangulation is the dual of the Voronoi Diagram, computation of the Voronoi Diagram may involve calculating its dual Delaunay Triangulation first.

Please see the following reference by Aurenhammer, F., Klein, R., for details on the Randomized Incremental and Plane Sweep (Fortune's) Algorithms:

"Voronoi Diagrams and Delaunay Triangulations", Aurenhammer, F., Klein, R., in the Handbook of Discrete and Computational Geometry, J.E. Goodman, J. O'Rourke, and C. D. Toth (editors), 3rd edition, CRC Press, Boca Raton, FL, 2017.

Voronoi Diagrams and Delaunay Triangulations

Your program should generate a set of random points in two dimensions using various distributions (Gaussian, uniform, etc.)as input and calculate and visualize the 2D Voronoi Diagram as graphical output. The program should have a good user interface to specify the parameters, such as the number of points and distribution parameters. Your program should support zooming in/out and moving the view while displaying the 2D Voronoi Diagram. You may assign different colors to each Voronoi Cell for better visualization.

After creating the 2D Voronoi Diagram, your program should also support dynamic manipulation of the Voronoi Cells. Specifically, we should be able to move the points to alter the Voronoi Cells. We should also be able to insert new points to create a new Voronoi Cell, affecting the neighboring cells. These two operations should operate on the existing Voronoi Diagram instead of building it from scratch.

You will visualize the steps of Fortune's Algorithm (we should see the visual result of the current Voronoi Diagram as the algorithm proceeds). You will also visualize the steps of the Randomized Incremental algorithm during the Delaunay triangulation construction. See the animated gif on the following page for an example step-by-step visualization of Fortune's algorithm:

Fortune's Algorithm

You will test your program for arbitrary point sets in 2D and report the performance of your implementation, comparing the two approaches. You must use a reasonable number of test cases, e.g., starting with 100 and up to 1,000,000.

Please also see the project description for the CS 274: Computational Geometry course at UC Berkeley by Prof. Dr. Jonathan Shewchuk at

Delaunay Triangulation Project

which also contains various test data sets that you can use.


Project Requirements

Ugur Gudukbay
January 26, Sunday, 14:30:30 EET 2025