Tessellation of trimmed NURB surfaces

Abstract The process of rendering a trimmed NURB surface may be divided into four basic steps: (a) tessellating the trimming contours, (b) tessellating the supporting surface, (c) mapping the trimming contours onto the supporting surface, and (d) rendering the resulting tessellants. Instead of dividing the supporting surface into patches, the surface is divided into strips corresponding to intervals in one of the parametric coordinates ( v ). Each of these strips extends across the entire range of the u parameter. The trimming contours are clipped to these strips before evaluating the surface within each strip. Each strip is then divided into uv rectangles determined by intervals in the second parametric coordinate ( u ). The v -clipped trimming contours are clipped to each u interval to determine a set of planar or nearly planar polygons representing the trimmed surface. Coordinates and normals for the corners of the uv rectangles are determined by the parametric equations of the supporting surface. Coordinates and normals of points lying on trimming curves are determined by interpolation between vertices of the uv rectangles.