Поделиться через


Использование кривых и поверхностей NURBS

Функции non-Uniform Rational B-Spline (NURBS) предоставляют общее и мощное описание кривых и поверхностей в двух и трех измерениях, преобразуя кривые и поверхности в оценщики OpenGL. Функции NURBS могут представлять геометрию во многих автоматизированных механических системах проектирования. Они могут отображать кривые и поверхности в различных стилях, а также могут автоматически обрабатывать адаптивные подразделения, которые тесселлируют предметную область на более мелкие треугольники в областях с высокой кривизной и вблизи края силуэта. Функции NURBS делятся на следующие категории.

Для управления объектом NURBS используйте:

Чтобы указать нужные кривые, используйте следующую команду:

Чтобы указать нужные поверхности, используйте следующую команду:

Можно также указать область обрезки, которая определяет подмножество поверхностного домена NURBS для оценки, чтобы можно было создавать поверхности с гладкими границами или с отверстиями.

Чтобы указать область обрезки, используйте следующую команду:

Как и в случае с квадричными объектами, вы можете управлять отрисовкой кривых и поверхностей NURBS. Вы можете определить следующее:

  • Следует ли отбрасывать кривую или поверхность, управляющий многоугольник которой находится за пределами текущего окна просмотра.
  • Максимальная длина (в пикселях) краев многоугольников, используемых для отрисовки кривых и поверхностей.
  • Будете ли вы принимать матрицу проекции, матрицу modelview и окно просмотра с сервера OpenGL или предоставлять их с помощью gluLoadSamplingMatrices.

Используйте gluNurbsProperty , чтобы задать эти свойства, или используйте значения по умолчанию. Вы можете запросить объект NURBS о его стиле отрисовки с помощью gluGetNurbsProperty.