Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ПИ_ИКТ Программирование по С++ (1 семестр) _Хотов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.83 Mб
Скачать

Задания

  1. Реализовать задание согласно варианту, для рисования использовать только точки.

Вариант

Задание

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

  1. Примеры рисования линий:

Для линий можно устанавливать следующие параметры:

  1. Толщина – функция void glLineWidth(Glfloat width);

  2. Антиалиасинг (устранение ступенчатого эффекта) – вызов функции glEnable с флагом GL_LINE_SMOOTH.

  3. Режим прерывистой линии – функция void LineStipple(GLint factor, GLushort pattern ) устанавливает параметры этого режима, команда glEnable(GL_LINE_STIPPLE) включает этот режим.

Параметр pattern функции LineStipple задает маску. Например, если его значение равно 255(0x00FF), то в двоичном виде это число выглядит так: 0000000011111111. Если биты установлены в ноль, значит тут линии не будет. Если установлены в единицу - будет рисоваться линия. Параметр factor определяет, сколько раз повторяется каждый бит. Если его установить равным 2, то накладываемая маска будет выглядить так:

00000000000000001111111111111111

Пример:

glColor3f(1.0,0,0);

glEnable(GL_LINE_SMOOTH);

glLineWidth(7);

glBegin(GL_LINES);

glVertex2f(0,0);

glVertex2f(1,-1);

glEnd();

glDisable(GL_LINE_SMOOTH);

glLineWidth(2);

glBegin(GL_LINE_STRIP);

glVertex2f(1,1);

glVertex2f(-1,-1);

glVertex2f(0,0);

glEnd();

glLineWidth(5);

glColor3f(0,1.0,0);

glEnable(GL_LINE_STIPPLE);

glLineStipple(2,58360);

glBegin(GL_LINE_LOOP);

glVertex2i(0,0);

glVertex2i(-1,-1);

glVertex2f(-1,1);

glEnd();

glDisable(GL_LINE_STIPPLE);

  1. Реализовать задание согласно варианту, для рисования использовать только линии.

Вариант

Задание

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18