Triangular B-splines

Triangular B-splines are a (more or less new) class of splines. Usually splines are used in computer graphics to model curves and surfaces. For more information read Ron Pfeifle's introduction. I did my masters thesis on Triangular B-spline evaluation. (Sometimes referred to as DMS-splines.)

DMS stands for Dahmen, Miccheli and Seidel - the names of the inventors of Triangular B-splines. In order to work with such splines in application one first needs some routines to evaluate these splines. Software for this task was already designed and written before I even heard of Triangular B-splines by Fong and Pfeifle.

During my masters project at the University however I had to port a C-version of such code to a C++ version and I found the C-code too complicated and elaborate. I designed new routines from scratch (using some ideas of both Fong and Pfeifle however) and made my masters on this design.

The routines optimally evaluate surfaces of an arbitrary degree. The routines designed by Phong and Pfeifle only optimized the evaluation of surfaces of degree 2. Also the routines algorithms used can be generalized for B-splines with an s-variate domain. For instance one can implement the same algorithm to work for curves, or even implement it for spaces. When an implementation for spaces is made (with a 3 dimensional domain), one can specify a kind of free-form deformations using the spline space introduced by Dahmen, Micchelli and Seidel.

The supervisors for my masters project were Remco Veltkamp and Wieger Wesselink. They have designed a new type of operators for variational surfaces (the surface-version of their variational operators for curves). A paper about these variational curve operators has been published in Computers Graphics Forum, conference issue 1995 (see below). The usage of these operaters creates the need to compute integrals over subdomains of the surface (the subdomain specifies where the variational operators take effect).

Usually the integrals are computed using numerical methods. However, to verify the accuracy of these numerical methods we also wanted to compute the integrals analytically. The implementation available on these pages are supplied with routines for these analitical integration. Like the 'ordinary' evaluation routines, the integration routines were part of my masters work.

The final version of my master's thesis is downloadable below. Some links to related pages are also found below. The C++ software accompaniing based on my master's thesis can be obtained here.

Wow, look at this basebalcap That the software really works can be seen by the Triangular B-spline displayed here. It is a basebalcap modelled by hand. It is rendered with RAY, a raytracer I have written once, during my study. (if other people want to render B-splines with RAY, I'll be happy to supply them the required conversion program based on my evaluation routines.)

The influence of the control points on the actual shape of the surface is demonstrated by the following pictures. If you click them you get bigger versions.

beforeafter


  • Here is a link to Wieger Wesselink's home page.