Prof. Alberto Paoluzzi, Ing. Enrico Marino, Ing. Federico Spini

The course aims to develop the skill needed to (a) produce geometric models of highly complex components and structures, both natural and man-made, and (b) understand the design and development of computer-aided modeling and simulation. The lectures offer some background about the geometric and mathematical techniques required, and provide insight into some main topics of computer graphics techniques, including computer rendering, geometric computing and scientific visualization. The theory is carefully linked to practice by implementing programming projects in a cutting edge graphics environment based on **Javascript** and **webGL**.

- Friday, Jun 22, 2012, 2:30 PM, Teacher's room (DIA 2.21)
- Friday, Jul 6, 2012, 2:30 PM, Seminary Room (DIA 1.??)
- Friday, Jul 20, 2012, 2:30 PM, Seminary Room (DIA 1.??)

Just in case that the sum of homework grades is less than 14

- Friday, Jun 22, 2012, 10:30 AM, PLM Lab (DIA 2.24)
- Friday, Jul 6, 2012, 10:30 AM, PLM Lab (DIA 2.24)
- Friday, Jul 20, 2012, 10:30 AM, PLM Lab (DIA 2.24)

Lectures From Thursday, Mar 1, 2012 to Friday, Jun 8, 2012

Monday Tuesday Thursday Friday 15:45 15:45 15:45 15:45 - Room N3
- Student evaluation:
- Test 1: Wed, Apr 4, 2012 (10 points)
- Test 2: Wed, May 2, 2012 (10 points)
- Project deadline: Fri, Jun 8, 2012 (15 points)
- Final exam: project discussion & oral questions

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

Why JavaScript? Environment setup: Chrome, Git, GitHub. Control flow, functions, closures; objects, built-in objects; prototype, inheritance; coding style guide, the Javascript ecosystem, Coffeescript.

Linear and affine spaces, convex sets, affine coordinates, cones, polyhedra. Cellular complexes: polytopal, simplicial and cuboidal complexes. Convex hull, Dealunay triangulations, Voronoi complexes.

Introduction to PLaSM (Programming Language for Solid Modeling) and to the plasm.js module. First geometric constructions.

Affine transformations, graphical primitives, hierarchical structures and scene graphs.

Equivalence with the course of 'Computer Graphics' (DM 509)

Curves, surfaces, solids. Parametric representations, rational and polynomial maps, tensor product patches, transfinite methods.

2D and 3D pipelines, projections, materials and illumination models, shading, texture mapping, 3D reconstruction.

WebGL frameworks, buffers, renderbuffers, framebuffers, program objects, shaders, culling, textures, blending, depth buffer, array data, uniform and attribute variables

Each student is required to design and implement a personal project in the area of biomedical infographics.

- Lecture notes, examples, and exercises.
- A. Paoluzzi, Geometric Programming for Computer-Aided Design, Wiley, 2003.
- https://github.com/cvdlab/
- http://www.plasm.net