97268 - Geometric Modelling

Course Unit Page

  • Teacher Carolina Vittoria Beccari

  • Credits 6

  • SSD MAT/08

  • Teaching Mode Traditional lectures

  • Language English

  • Campus of Bologna

  • Degree Programme Second cycle degree programme (LM) in Mathematics (cod. 5827)


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education Partnerships for the goals

Academic Year 2022/2023

Learning outcomes

By the end of the course a student will be familiar with the main techniques for the construction of geometric models on a computer, starting from the basics of spline theory, up to the most advanced and current tools. A successful learner will be able to apply the discussed numerical methods for approximating univariate and multivariate functions and datasets, implement them within a programming environment and critically evaluate the results.

Course contents

Geometric Modeling is the branch of computational mathematics that deals with the construction of geometric models on the computer, typically for curves and surfaces. These virtual models are the basis of Computer-Aided Design (CAD) software and find application, to name a few, in mechanical design, industrial design, numerical simulation (solving partial differential equations on domains with complex geometry), in rapid prototyping (eg 3D printing) and in automated production processes using numerical control machines.

The course aims to provide the mathematical basis of current geometric modeling techniques. In particular, the spaces of functions commonly used for the description of the geometry of objects, the computational aspects of these mathematical tools and the relative numerical methods for the construction of curves and surfaces will be presented. The theoretical discussion will be accompanied by laboratory sessions dedicated to the implementation and experimentation of the computational tools presented during the lessons. The activity in the laboratory aims to stimulate interactive learning and increase the student's degree of confidence in the application of the proposed contents.

Topics covered during the course include:

  • Bernstein polinomials and Bézier curves;
  • Spline functions, B-spline basis, interpolation and approximation, construction and modeling of parametric spline curves;
  • NURBS (Non Uniform Rational B-splines) and related modeling techniques;
  • Tensor product spline and NURBS surfaces;
  • Multivariate splines: splines on triangulations and related surface construction methods;
  • Time permitting, additional topics related to the most recent trends in the field will be addressed (possibly subdivision surfaces or Pythagorean hodograph curves).



  • Hartmut Prautzsch, Wolfgang Boehm, Marco Paluszny: Bézier an B-spline techniques; Springer 2002.
  • Gerald Farin: Curves and surfaces for CAGD: a practical guide; Morgan Kaufmann (5° edition), 2001.
  • Ming-Jun Lai, Larry L. Schumaker: Spline functions on triangulations; Cambridge University Press, 2010.

Other textbooks and recent scientific articles will be recommended during the course.

Teaching methods

Theoretical lessons and laboratory exercises with the Matlab software. The laboratory exercises will be partly developed by the instructor and partly carried out (individually or in groups) by the students. Some of the assigned exercises will have to be completed at home to strengthen the student's level of independence towards the topic. The results of the exercises will be analyzed in the classroom and discussed during the oral exam.

Considering the type of activity and the teaching methods adopted, the attendance of this training activity requires the prior participation of all students in training modules 1 and 2 on safety in the study places in e-learning mode [https://elearning-sicurezza.unibo.it/?lang=en]

Assessment methods

The purpose of the exam is to verify an adequate knowledge of the basic theory, a good degree of confidence with the computational tools made available during the course and the ability to critically analyze the obtained results.

The exam method must be agreed upon with the teacher individually at the end of the course, choosing between either one of the two following modes: 

1) Oral discussion on theory and laboratory exercises. The lab exercises must be delivered a few days before the exam.

2) As an alternative to modality 1), attending students can ask to take the exam by carrying out a project that consists of implementing a MATLAB code and presenting the theory related to it. The code has to be delivered a few days before the exam. The exam consists of an oral presentation with a critical discussion of the results.

Teaching tools

Slides, lecture notes, software libraries. 

Office hours

See the website of Carolina Vittoria Beccari