Copying code (either from other students or from external sources) is strictly prohibited! We will be using automatic anti-plagiarism tools, and violating this rule will lead to expulsion from the class. Late submissions will generally not be accepted. In case of severe illness or emergency, please notify Daniele and provide a relevant medical certificate.
For each assignment, you will use the geometry processing library libigl, which includes implementations of many of the algorithms presented in class. In particular, you will be using the python bindings of igl.
The libigl
library includes a set of tutorials, an introduction to which can be found in the two previous links. You are advised to look over the relevant tutorials before starting the implementation for the assignments; you are also encouraged to examine the source code of all the library functions that you use in your code to see how they were
implemented.
No libraries apart from libigl
, numpy
, meshplot
, and scipy
are permitted unless permission is granted in advance.
For every assignment, you should provide a report in the form of a runnable Jupiter notebook including results for all steps described in the assignment. Please also add illustrations and text as needed to explain what you did. In addition to the notebook, you should also attach an html version of the notebook, exported using nbconvert
.
Before we can begin, you must install igl
, meshplot
, and jupiter
trough pip (do not use conda for igl, as it is outdated)
pip install libigl
pip install meshplot
pip install scipy
pip install notebook
Launch the notebook
jupyter notebook