Alberto Paoluzzi, Department of Computer Science and Automation, Roma Tre University <paoluzzi@dia.uniroma3.it>

Teaching assistants

Enrico Marino and Federico Spini


The course aims to develop the ability of (a) producing geometric models of highly complex components and structures, both natural and man-made, and (b) understanding the design and development process of computer-aided modeling and simulation. The course offers some background about the geometric and mathematical techniques required, and provides some insight into the main topics of computer techniques, including computer graphics, geometric computing and computational geometry. The theory is carefully linked to practice by implementing several graphical models in a modern programming environment based on Python.

Grade recording:
  1. Monday, Feb 13, 2012, 10:00 AM, Room: Teacher’s (DIA 2.21)

  2. Monday, Feb 20, 2012, 10:00 AM, Room: Teacher’s (DIA 2.21)

  3. Monday, Feb 27, 2012, 10:00 AM, Room: Teacher’s (DIA 2.21)

Programming test:
  1. Monday, Feb 27, 2012, 10:00 AM, Room: CAD Lab (DIA 2.08)

Course program


Equivalence with the course of Computer-Aided Design (DM 509)

Geometric Programming

Introduction to the language Python, the PLaSM language, the PyPlasm module.

Elements of linear algebra, differential and polyhedral geometry

Vector spaces, convex sets, simplicial complexes and polyhedral complexes, fields, differential operators.

Elements of Computer Graphics

Affine transformations, graphical primitives, hierarchical structure, the 3D pipeline, projections, texture mapping, 3D reconstruction

Elements of Geometric Computing

Curves, surfaces, solids. Parametric representations. Rational and polynomial maps. Tensor product rectangular Patches. Multivariate simplicial decompositions. Transfinite Geometric Modeling.


Equivalence with the course of Computer Graphics (DM 509)

Elements of Programming with PyOpenGL

Introduction to the use of cross-platform Python binding to OpenGL and related APIs. Elements of shader programming / buffer / texture model of OpenGL.

Elements of Computational Geometry

Intersection of segments in one and more dimensions. Convex hull. Triangulations. Dual complexes.

Library for topology / geometry / Computational Physics

Simplicial complexes, complexes of cells. Chains and cochains. Boundary and coboundary Operators. Sparse Matrix Representation. Hierarchical triangulations. Characteristics Operations.

Examples of projects of modeling / simulation graphics

Reconstruction of the imperial palaces on the Palatine; Rome’s underground system modeling; development of the parametric model of a shopping center.


  • 9 credits: 60 hours of lectures, 30 hours of lab work.

  • Grade: project 40%; graphics programming test 60%