Bradley Herrup
Final Project
CS263
NURBS Modelling

NURBS Modeling

It was an interesting feat moving from generating polygonal mesh objects to other systems of representation.
The NURBS Surface was the most interesting of all the other representations in that because they are defined using rational splines, all of the affine transformations that were used to move polygonal objects from a local coordinate system to device space are withheld. With B-Splines the intermediate points must be interpolated before the device transformation. NURBS all that was necessary was to affine transform the Control Verticies of the NURBS surface and then generate the S(u,v) surface from the transformed points. As well the rational splines also gave us a lot more points of change to manipulate the end surface.

Basic Classes:

  • CV Class
  • NURBS Definition
  • Pipeline used from the Polygon Renderer but modified to handle NURBS Surfaces

Complex Functions:

  • Using the Cox-deBoor algorithm it is possible to create the resulting u,v values with the approximate locations using a recursive definition instead of seeding the function.

Possible Extensions:

  • Each point has its own Normal in and to itself in its creation therefore the lighting scheme could easily be done in creation time.
  • Using a ScanLine algorithm would still be the best way to represent the object though, because even at a high detail level there still is a sieve like aliasing effect that occurs