You will choose 1,2 or 3 algorithms in different sections of the list of algorithms in order to have at least 20 credits.
For example, here are some valid choices:
QuickHull & Ear Clipping
general L-system drawer & Graham Scan
Lévy C curve & QuadTree Meshing
You will have to program the algorithm in C, using only what is provided in draw_tools/src/ and standard libraries.
Function to load random points coordinates (for convex hull, Voronoi, Delaunay and trees), polygon definitions (Ear clipping and quadtree meshing) and queries (for k-d trees and range trees) are provided.
Your program should also be able to display all the different steps of the underlying algorithm using the functions described in draw_tools/src/draw_tools.h.
Your program is not supposed to be quick when it display all the steps, and only the beauty and correctness of the animation will be evaluated.
However, it should be possible to disable the animations and only display the end result. When animations are disabled, the program should be quick* and able to handle a million points !
*except for fractal curves where we don't really care about speed
You program will be evaluated on its correctness, the beauty and educational aspect of animations, and its speed with the animations disabled.
Submission and deadline
The src folder and CMakeList.txt of the project has to be submitted by mail, in a zip, tar or tar.gz archive to Célestin, Kilian and Vincent
The deadline for the submission is December 13, 11:59 p.m.
Beautiful animations will be converted to a GIF that will be shown on Vincent's website