使用 NURBS 曲线和图面

非统一理性 B-Spline (NURBS) 函数提供两维和三维曲线和图面的常规和强大描述,将曲线和图面转换为 OpenGL 计算器。 NURBS 函数可以表示许多计算机辅助机械设计系统中的几何图形。 它们可以以各种样式呈现曲线和图面,并且可以自动处理自适应细分,将域分割成较小的三角形,这些三角形位于高曲率区域和接近剪影边缘的区域。 NURBS 函数分为以下类别。

若要管理 NURBS 对象,请使用:

若要指定所需的曲线,请使用:

若要指定所需的图面,请使用:

还可以指定剪裁区域,该区域定义要评估的 NURBS 图面域的子集,以便可以创建具有平滑边界或包含孔的图面。

若要指定剪裁区域,请使用:

与四边对象一样,可以控制 NURBS 曲线和图面的呈现方式。 可以确定:

  • 是放弃曲线还是表面,其控制多边形位于当前视口之外。
  • 用于呈现曲线和图面的多边形边缘的最大长度(以像素为单位)。
  • 无论是从 OpenGL 服务器获取投影矩阵、modelview 矩阵和视口,还是使用 gluLoadSamplingMatrices 显式提供它们。

使用 gluNurbsProperty 设置这些属性,或使用默认值。 可以使用 gluGetNurbsProperty 查询 NURBS 对象的呈现样式。