Geometric Tools for Computer Graphics

Master in Innovation and Research in Informatics (MIRI)
Departament de Matemàtiques
Facultat d’Informàtica de Barcelona
Universitat Politècnica de Catalunya


Mercè Mora
Rodrigo Silveira


This course has been designed to provide students with the mathematical geometric tools most ubiquitously used in computer graphics.

By the end of the course, students should be able to:

  • Use and manipulate affine coordinates (homogeneous or not).
  • Compute distance and angular measures.
  • Describe and control linear objects.
  • Describe and control parametrized curves and surfaces.
  • Locate a given geometric object in the desired position in space, using different techniques.


  1. Basics of affine and metric geometry
    • Vectorial spaces.
    • Affine spaces. Coordinate systems. Affine varieties in dimensions 2 and 3.
    • Euclidean spaces. Distances and angles. Projections. Cartesian coordinate systems.
    • Changing coordinates.
  2. Geometric objects
    • Linear objects.
    • Curves in dimensions 2 and 3. Parametrizations. Rudiments of differential geometry of curves.
    • Surfaces in dimension 3. Parametrizations. Rudiments of differential geometry of surfaces. Intersections.
  3. Affine transforms
    • Rigid motions, similarities and affinities.
    • Using quaternions in rotations.


The contents of the course being of mathematical nature, the activities associated with it are oriented accordingly:

  • Theory  classes: aimed at presenting and discussing the geometric techniques included in the syllabus, they will be mainly conducted by the instructor.
  • Problems solving classes: students will present and discuss their solutions to the problems that will have been posed in advance.
  • Laboratory classes:  for the students to implement the above mentioned solutions to geometric problems. Emphasis will be put into implementing the geometric components of the solutions, while essentially avoiding graphics issues.
  • Exam: in addition to the homework (problems solving and implementing), there will be a final written exam, mainly devoted to problems solving.

The length of the course, together with its level, entail the need of some non irrelevant amount of student’s personal work. This includes exploring course topics beyond the material presented in class, proposing solutions to new problems and proving the correctness of the proposed solutions, and designing and carrying out their implementations.


Along the course, students will get assigned some problems solving and implementing. This homework will be presented in class by the students, and revised by the instructor, giving as a result the homework component of the final grade (H). There will also be a final written exam, mainly devoted to problems solving, which will give the exam component of the final grade (E). The final grade (F) will be obtained by the following formula: F = max (E, (H+E)/2).

General information

The general information related to a specific semester of  the course (calendar, schedule, class rooms, evaluation, etc.) can be found at the FIB web page. Announcements along the semester will be done at the FIB corner (Racó). In this web page (which is always under construction) I will post some material for the course.

Material for the course


Are you looking for a textbook containing most of what we will see in class?

Are you interested in reading what computer graphics people consider to be the mathematical tools useful for their work?

Do you want to learn more about differential geometry on curves and surfaces?

Do you want to learn more about geometric algorithms?

Do you need help with SAGE?

Further resources

  • Mathematical text editor

Mathematical edition is almost always and everywhere done using LaTeX. Not only it is used in universities (LaTeX has been used to write all the documents of this course, and probably all the problems lists, exams, and other mathematical texts that you had in your hands during your previous studies) but it is the most extended editor of scientific texts (LaTeX is used to write all the textbooks of scientific publishers as important as Springer, and also most of the mathematics and computer science conferences around the world).

It’s a free source software that has versions for all operating systems (Linux, Mac, Windoxs, etc.), it helps writing all sort of scientific texts, such as articles, books and presentations, while it allows to incorporate figures previously produced in PDF by any drawing program.

You can download LaTeX from


Examples of some popular LaTeX editors are TexWorksWinEdt , or Texmaker.

  • Drawings

Each person likes preparing his/her figures with his/her favorite drawing program. I use IPE (an evolution of xfig designed by a computational geometer), because it allows me to draw the geometric figures that I need, because it integrates text in LaTeX, and because it allows me to also prepare my presentations in a very easy what-you-see-is-what-you-get way. It’s a free source software that has versions for all the operating systems (Linux, Windoxs, Unix, etc.).

You can download IPE from

  • Geometric constructions

In addition to producing your own drawings, you may wish to create and experiment with geometric constructions. If so, I recommend GeoGebra:

Thesis, grants, and projects

  • Are you interested in working in a geometric project, a Bacherlor’s (TFG) or Master’s (TFM) Thesis related to geometry? Or perhaps in starting a PhD in Computational Geometry?  Have a look here!
  • Also, don’t forget to take a look at what our research group does!