Curve and Surface Design

Bachelor Degree in Informatics Engineering (GEI)
Departament de Matemàtiques
Facultat d’Informàtica de Barcelona
Universitat Politècnica de Catalunya


Instructor

Goal of the course

The course Curve and Surface Design presents an introduction to important topics in curve and surface design for graphics and CAD/CAM. Different types of curves and surfaces will be introduced, together with their main theoretical properties and some implementation aspects. The course has a practical component that will consist in carrying out five lab assignments to become familiar with the implementation and properties of the different curves and surfaces.


Which types curves and surfaces are covered?

We will cover the most basic—but, at the same time, fundamental—types of curves used for geometric modeling, including Bézier curves and B-Splines. These curves are ubiquitous, and, in fact, you look at them every time you read a text in your computer or phone’s screen! (Since they are used to define the shape of every character in every font). We will also see a few important families of surfaces, such as Bézier surfaces.


Material for the course

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 Racó.

In this web page (which is always under construction) you will find most of the material for the course. In particular, below I will post presentations and links related to the several subjects that we will work through in class. If you wish to download the latest updated version of the slides, do it as each class approaches (ideally, after the class), do not do it too early.

  1. Basics (vectors and geometry)
  2. Curve parametrization
  3. Introduction to interpolating curves
  4. Hermite interpolation
  5. Spline interpolation
  6. Bézier curves
  7. B-splines
  8. Surface parametrization
  9. Bézier surfaces


Lab assignments

An important part of the course is to get some hands-on experience with curves and surfaces. To that end, there will be several lab assingments to be programmed in Javascript. Prior knowledge of Javascript always helps, but it is not required to take the course.

Each student has to solve and present 5 lab assignments. Their statements will be made available through Racó. Each assignment needs to be presented in person in one of the lab sessions.



Resources

Bibliography

The slides of each topic end with references for that topic. However, the main bibliographic source is the following book, available at the UPC library:

Curves and surfaces for computer graphics – Salomon, David, Springer, 2006. ISBN: 0387241965 See entry at UPC library

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, as well as all the problems lists, exams, and other mathematical texts that you had in your hands during your studies at the FIB) 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 al 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 http://www.tug.org/. The most popular platform to work in LaTeX nowadays is probably the online cloud-based editor Overleaf.

Producing high-quality figures with Ipe

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 it from http://ipe.otfried.org/.

Geometric constructions

In addition to producing your own drawings, you may whish to create and experiment with geometric constructions in an interactive way. To that end, you can try GeoGebra and Desmos (Desmos is particularly good to play with 2D and 3D curves).