Hands-on option

Basic stage for the hands-on option

Create the following adjustments in the example code, either independently of one another or combined in the way of your choosing.

Document examples of the resulting delivery territories with screenshots and discussion of the properties of the territories and how they differ from the other scenarios.

In-depth stage for the hands-on option

For each restaurant, introduce a new attribute to represent the range of that restaurant, meaning that it only delivers to addresses within that range (that is, at a distance that is at most the specified range). When assigning the territory of each restaurant, respect this range.

Now, instead of creating a fixed number of restaurants to start with, create them one by one and update their respective terrories after each new opening. Keep adding restaurants until every address in the city will be within the (range-respecting) territory of a restaurant.

Conceptual option

Basic stage for the conceptual option

Read the blog article on Voronoi Diagrams (or a similar writing of your choosing). Build a list of all terms and concepts that you are not yet thoroughly comfortable with.

For each item on the list, classify it into one of the following categories:

In-depth stage for the conceptual option

Select at least three of the links to additional material at the bottom of the recommended blog post and read through them. For each one, write a paragraph or two in your own words to describe why you chose it and what you learned by reading it.