Personal tools
You are here: Home Courses Computational Geometry Fall 2020-2021 Assignments Programming Assignment, Additional Information
« January 2021 »
Log in

Forgot your password?

Programming Assignment, Additional Information


Please provide an archive that contains all source and documentation files in a flat directory structure (that is, place all files in one directory); Use Moodle to submit the file. Do not forget to state your names and IDs.

You may develop your code in C++, Java or in Python.

You may send questions about the exercise to Dr. Efi Fogel via email (


Both input files and your generated solution files need to conform with the format used in the SG:SHOP 2021 challenge.
You may find the provided Python-based utility library useful: link

Solution verification and visualization

You are provided a python program to verify and visualize your solutions.
Robots are visualized as squares of different colors.
Targets are visualized as square boundaries, each colored with the color of the respective robot that should reach the target.
Obstacles are visualized as gray squares.
The program ( has two input fields:
  1. The path to the file that contains the description of the scene. If filled, click on "initialize" to view the scene. You can zoom in and out using the + and - keys on your keyboard, respectively.
  2. The path to the file that contains a solution to the scene. If filled, after initializing click on "run" to visualize and verify your solution.
How to run the program:
1. Download the program files: [link]
2. Install Python 3
3. The program requires the installation of PyQt5 (pip install PyQt5).
4. On Linux you may need to install libxcb-xinerama0 (sudo apt-get install libxcb-xinerama0).
5. Install numpy (pip install numpy)
6. Install colour (pip install colour)
7. Run

Optimal solver for the case of a single robot

Additionally, you are provided a python script that given an instance with only one robot outputs an optimal solution.
The program ( accepts 2 arguments:
  1. The path to the file that contains the description of the scene. 
  2. The path to the file where the solution will be saved.
How to run the program:
1. Install Python 3
2. Install numpy (pip install numpy)
3. Install networkx (pip install networkx)
4. Run with the command line arguments described above
Document Actions