next up previous contents index
Next: 5.3 Tesselation of Nurbs Up: 5. Examples Previous: 5.1 Nurbs Curves   Contents   Index

5.2 Nurbs Surfaces

In Example 7 a bilinear nurbs surface is created. The resulting surface is shown in Figure 5.4. It also demonstrates how to set the material properties for the front and back sides of surfaces.

Example 7: (taken from: data/examples/nurbsurf1.dat (7.26))

surf1 = NURBSURF
( 
  (0., 0., 1., 1.),
  (0., 0., 1., 1.),
  (
    ((0., 0., 0., 1.), (10., 0., 10., 1.)),
    ((0., 10., 10., 1.), (10., 10., 0., 1.))
  )
);
front1 = FRONT_MATERIAL
(
  (0.05, 0.15, 0.075, 1.0),        /* diffuse color    */
  (0.0125, 0.0375, 0.019, 1.0),    /* ambient color    */
  (0.0, 0.0, 0.0, 1.0),            /* emissive color   */
  (0.2, 0.6, 0.3, 1.0),            /* specular color   */
  0.5                              /* shininess        */
);
back1 = BACK_MATERIAL
(
  (0.3, 0.15, 0.12, 1.0),          /* diffuse color    */
  (0.075, 0.0375, 0.03, 1.0),      /* ambient color    */
  (0.0, 0.0, 0.0, 1.0),            /* emissive color   */
  (0.8, 0.4, 0.3, 1.0),            /* specular color   */
  0.5                              /* shininess        */
);
SCENEROOT = SCENENODE ( 
  (), 
  ( ATTRIBS(front1,back1) ), 
  (surf1)
);

Figure 5.4: Bilinear Nurbs Surface, control points not coplanar
\begin{figure}\centering\includegraphics{nurbs1-2}
\end{figure}

In Example 8 a nurbs surace is created which is linear in one direction, and quadratic in the other. The resulting surface (a cylinder half) is shown in Figure 5.5.

Example 8: (taken from: data/examples/nurbsurf1.dat (7.27))

surf1 = NURBSURF( 
  (0., 0., 1., 1.),
  (0., 0., 0., 0.5, 0.5, 1., 1., 1.),
  (
    ((5., 0.,  0., 0.5), (5., 5.,  0., 0.5)),
    ((5., 0., 2.5, 0.5), (5., 5., 2.5, 0.5)),
    ((5., 0.,  5., 1.),  (5., 10., 5., 1.)),
    ((0., 0., 2.5, 0.5), (0., 5., 2.5, 0.5)),
    ((0., 0.,  0., 0.5), (0., 5.,  0., 0.5))   
  )
);

Figure 5.5: A Cylinder Half
\begin{figure}\centering\includegraphics{nurbs2-1}
\end{figure}


next up previous contents index
Next: 5.3 Tesselation of Nurbs Up: 5. Examples Previous: 5.1 Nurbs Curves   Contents   Index
Administrator 2002-01-20