glBegin(GL_LINE_STRIP): // draw an open polyline // рисуем открытую ломаную

glVertex2i(20. 10):
glVertex2i(50. 10);
glVertex2i(20. 80):
glVertex2i(50. 80): glEndO; glFlushO:

генерирует ломаную, изображенную на рис. 2.10, а. Такие атрибуты, как цвет, толщина и штриховка, могут быть заданы для ломаных линий таким же способом, как это было для одиночных прямых линий. Если нужно соединить последнюю точку с первой, чтобы ломаная линия превратилась в полигон, достаточно просто заменить GL_LINE_STRIP на GL_LINE_L00P. Полученный полигон изображен на рис. 2.10, б.

Полигоны, нарисованные с помощью 61__1ЛМЕ_1_00Р, нельзя заполнять цветом или узором. Для рисования закрашенных полигонов следует использовать команду д1Вед1'п(61__Р01-У60М), которую мы будем рассматривать позднее.

Пример 2.3.1. Рисование линейных графиков В примере 2.2.3 мы рассматривали построение точечного графика функции в осях /(х) - х из последовательности точек с координатами (х, /(л:,)). Линейный график является непосредственным расширением этого подхода: эти же самые точки попросту соединены отрезками прямой, то есть получается ломаная линия. Рисунок 2.11 представляет собой пример такого построения для функции

что лучше стеклянная теплица или поликарбонат. пересылка бандероли авиапочтой владикавказ-красноярск.

/(*) = 300-100 со5(2ялг/100) + 30 соз(4ялг/100) + б со8(6ях/100), где х изменяется в шагах от 3 до 100 шагов. При увеличении этого рисунка была бы видна последовательность соединенных между собой отрезков прямой; в изображении же нормального размера они сливаются вместе и выглядят как плавно изменяющаяся кривая.

Процесс вычерчивания графика функции с помощью отрезков прямой почти идентичен созданию точечного рисунка, так что можно использовать (с небольшими изменениями) программу из листинга 2.7. Нам следует произвести масштабирование и сдвиг начерченных прямых, чтобы правильно разместить их в окне. Это требует вычисления констант Л, В, Си О аналогично тому, как это делалось нами раньше (см. уравнение 2.1). В листинге 2.8 показаны те изменения, которые следует внести во внутренний цикл рисования в функции туШэрТауО:


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