Skip to main content

Object-Oriented Splines Library

Supervisor

Suitable for

MSc in Computer Science
Mathematics and Computer Science, Part C
Computer Science, Part C

Abstract

Many objects are described to computer design and animation systems as a number of curved surface pieces, called splines patches. There are many different families of such splines (with different mathematical -- and thus aesthetic -- properties), including Bezier, B-spline, and NURBS. One way of describing these patches is to use (normally cubic) polynomial equations, and many implementations make this view foremost to the user. However an alternative viewpoint is to treat the patches as objects that are combined using a small number of operations to make arbitrarily complex objects. The aim of this project would be to design and construct an object-oriented software library for constructing and using splines in this form. The system would include a demonstration testbed (probably written in C++ or Java) that would allow splines curved to be traced out, combined to form one or more surface patches, and displayed in a graphics window. Experience of graphics or splines would be an advantage, and with object-oriented design techniques a necessity.