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


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

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

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

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

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

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

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

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

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

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