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

Course program

Introduction to Python and/or Julia programming

  1. Python or Julia? Getting started
  2. Language syntax by examples

Polyhedral geometry

  1. Linear and affine spaces
  2. Convex sets, affine and convex coordinates
  3. Simplicial, cuboidal and cellular complexes

Basic computer graphics

  1. Affine transformations
  2. hierarchical structures and scene graphs

Introduction to Geometric Computing

  1. Parametric representation
  2. Curves, surfaces, solids
  3. Rational and polynomial maps
  4. tensor product patches
  5. Solid modeling. Motion modeling

Teaching materials

  1. IN460 - Geometric & Graphics Programming Lab
  2. A. Paoluzzi, Geometric Programming for Computer-Aided Design, Wiley, 2003. (free download from uniroma3.it domain)
  3. https://github.com/plasm-language/pyplasm
  4. https://github.com/cvdlab/lar-cc,