Модуль: Программирование графики. Основы


Задача

1/10

Примитивы - 1: точки, отрезки и ломанные

Теория

Современные программы позволяют работать не только с текстовыми или числовыми данными, но и с отдельными точками на экране монитора. Они могут построить по этим точкам различные диаграммы, выводить на экран фотографии, создавать 3D изображения.

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

Различные графические библиотеки используют свои наборы функций. 
Мы будем тренироваться писать графические программы с использованием достаточно простой библиотекой graphics.h, написанной для языка С. Изучив основы программирования графики на простых библиотеках, в дальнейшем вы сможете легко изучить более сложные библиотеки.

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


Система координат

Поле для рисования в графических программах называется холстом (англ. canvas) - прямоугольник, состоящий из отдельных пикселей. Каждый пиксель имеет две координаты (x, y)

Размер холста совпадает с размером графического экрана. Если рисовать что-то за пределами холста, эта часть рисунка будет потеряна.
В курсе размер графического окна 500х500 пикселей. 


Простейшие графические примитивы

Прежде чем что-то рисовать необходимо установить цвет, которым будете рисовать или выводить текст:
цвет линий и текста: set color = установить цвет  
setcolor(12);
или так
setcolor(COLOR(250,0,0));

Как задать цвет?

Способ 1:

Цвет задается числом от 0 до 15:
0 – черный;
1 – синий;
2 – зеленый;
3 – голубой (бирюзовый);
4 – красный;
5 – фиолетовый;
6 – коричневый;
7 - светло-серый;
8 - темно-серый;
9 - светло-синий;
10 - светло-зеленый;
11 - светло-бирюзовый;
12 - светло-красный;
13 – розовый;
14 – желтый;
15 – белый.

Способ 2:
Кроме того, можно использовать полную палитру цветов (режим True Color, истинный цвет). В этом случае цвет строится из трех составляющих: красной (R) , зеленой (G) и синей (B). Каждая из этих составляющих – целое число от 0 до 255 (256 вариантов), таким образом, всего получается
2563 = 16 777 216 цветов. Цвета строятся с помощью функции COLOR(R, G, B), у нее в скобках перечисляются через запятую значения составляющих R, G и B (именно в таком порядке).
Например:
COLOR(0,0,0) – черный;
COLOR(255, 0, 0) – красный;
COLOR(0, 255, 0) – зеленый;
COLOR(0, 0, 255) – синий;
COLOR(255, 255, 255) – белый;
COLOR(100, 100, 100) – серый;
COLOR(255, 0, 255) – фиолетовый;
COLOR(0, 255, 0) – желтый.


Установка точки с координатами (x,y) и выбранным цветом выполняется командой
putpixel(x,y,color);

Линия от точки (x1, y1) до точки (x2, y2)
line(x1, y1, x2, y2);

Нарисовать ломанную линию можно используя несколько команд
lineto(x, y);
Данная команда рисует линию от текущей точки до точки с координатами (x, y).
Текущая точка - это точка, в которой закончилось рисование предыдущей команды.
В самом начале текущая точка имеет координаты (0, 0).

Сделать точку с координатой (x, y) текущей можно с помощью команды 
moveto(x, y);

Задача

Напишите программу, которая рисует любую ломанную линию (незамкнутую фигуру).

Источник: Материалы К.Ю. Полякова http://kpolyakov.spb.ru/

Используйте описанные в теории методы рисования. В некоторых задачах возможна автоматическая проверка (в стадии тестирования)

Комментарий учителя