Course style and Requirements
It was customary in the Rinascimento to send the gifted children 'apprenticed' by masters of art, to better develop their skills. This happened to Leonardo da Vinci who went "to shop" by Verrocchio and Michelangelo by Ghirlandaio.
Programming Laboratory as Rinascimental Workshop :-)
Every week a very small programming task is given at the start of the Friday hours. Students will develop their solution in class, under supervision and advice of the teacher. The solutions will be loaded on Github at the end of class. No final exams; no complex project. The grade will be determined by the student's GitHub repository.
Scheduling
- Lectures From Monday, Oct 2, 2017 to Friday, Jan 19, 2018
- Monday: Room DS3A - 13:00--17:00 (Engineering School), Via della Vasca Navale, 79
- Friday: Room N8 - 13:00--15:00 (Engineering School), Via della Vasca Navale, 79
Course program
Introduction to Python and/or Julia programming
- Python or Julia? Getting started
- Language syntax by examples
Polyhedral geometry
- Linear and affine spaces
- Convex sets, affine and convex coordinates
- Simplicial, cuboidal and cellular complexes
Basic computer graphics
- Affine transformations
- hierarchical structures and scene graphs
Introduction to Geometric Computing
- Parametric representation
- Curves, surfaces, solids
- Rational and polynomial maps
- tensor product patches
- Solid modeling. Motion modeling
Teaching materials
- IN460 - Geometric & Graphics Programming Lab
- A. Paoluzzi, Geometric Programming for Computer-Aided Design, Wiley, 2003. (free download from
uniroma3.it
domain)
- https://github.com/plasm-language/pyplasm
- https://github.com/cvdlab/lar-cc,