2.3. Примитивы и атрибуты

2.3.4. Криволинейные объекты

Все ранее рассмотренные примитивы полностью определялись набором вершин. Все они, за исключением точки, состояли из прямолинейных отрезков или использовали такие отрезки для определения границ некоторой области, которая заливалась определенным цветом или заполнялась образцом. В этом разделе будут рассмотрены два подхода к формированию расширенного набора примитивов.

Первый подход предполагает использование ранее определенных примитивов для аппроксимации кривых и поверхностей. Если, например, нам нужен круг, то его можно аппроксимировать правильным многоугольником с п вершинами. Точно так же сфера аппроксимируется правильным многогранником. В обшем случае любую криволинейную поверхность можно аппроксимировать сеткой из выпуклых многоугольников (мозаикой- tessellation), которая формируется либо на стадии тонирования, либо в прикладной программе.

Другой подход, который мы подробно рассмотрим в главе 10, состоит в том, что создается математическое описание криволинейного объекта, а затем разрабатываются графические функции реализации этого математического описания. Математический аппарат описания таких объектов, как квадратичные поверхности и параметрические полиномиальные кривые, достаточно хорошо разработан, и их можно строить, базируясь на наборе характеристических точек. Например, сферу можно построить, зная всего две точки - центр сферы и произвольную точку на ее поверхности. Кубическую полиномиальную кривую можно построить по четырем точкам, находящимся на этой кривой.

В большинстве графических систем используются оба подхода. В OpenGL можно применять функции аппроксимации наиболее часто используемых криволинейных поверхностей из библиотеки утилит GLU, но можно разработать и собственные функции построения разного рода специфических криволинейных объектов. Мы будем использовать эти возможности OpenGL при работе с параметрическими полиномиальными кривыми и поверхностями.

2.3.5. Атрибуты

В современных системах компьютерной графики принято делить используемую информацию на две категории: информация, определяющая форму объекта, и информация, характеризующая вид объекта на экране. Красная сплошная линия и зеленая штриховая линия формируются на основании одного и того же типа примитива, но выглядят совершенно по-разному. Атрибут - это любое свойство, которое определяет способ отображения заданного графического примитива. Чаше всего используются такие атрибуты, как цвет, толщина линий и образец заливки многоугольников. Рис. 2.19 поясняет физический смысл некоторых атрибутов линий и многоугольников.


⇐ Предыдущая| |Следующая ⇒