Compartilhar via


Usando curvas e superfícies nurbs

As funções nurbs (b-spline racional) não uniformes fornecem descrições gerais e poderosas de curvas e superfícies em duas e três dimensões, convertendo as curvas e superfícies em avaliadores OpenGL. As funções NURBS podem representar geometria em muitos sistemas de design mecânicos auxiliados por computador. Eles podem renderizar curvas e superfícies em uma variedade de estilos e podem lidar automaticamente com subdivisões adaptáveis que mosaicam o domínio em triângulos menores em regiões de alta curvatura e bordas próximas à silhueta. As funções NURBS se enquadram nas categorias a seguir.

Para gerenciar um objeto NURBS, use:

Para especificar as curvas desejadas, use:

Para especificar as superfícies desejadas, use:

Você também pode especificar uma região de corte, que define um subconjunto do domínio de superfície NURBS a ser avaliado para que você possa criar superfícies que tenham limites suaves ou que contenham buracos.

Para especificar a região de corte, use:

Assim como acontece com objetos quadráticos, você pode controlar como as curvas e superfícies NURBS são renderizadas. Você pode determinar:

  • Se deseja descartar uma curva ou superfície cujo poliedro de controle está fora do visor atual.
  • O comprimento máximo (em pixels) das bordas dos polígonos usados para renderizar curvas e superfícies.
  • Se você usará a matriz de projeção, a matriz de modelview e o visor do servidor OpenGL ou fornecerá-os explictly com gluLoadSamplingMatrices.

Use gluNurbsProperty para definir essas propriedades ou use os valores padrão. Você pode consultar um objeto NURBS sobre seu estilo de renderização com gluGetNurbsProperty.