Алгоритмы заполнения различных фигур определенным стилем

Автор работы: Пользователь скрыл имя, 13 Ноября 2011 в 21:58, курсовая работа

Краткое описание

Цель работы - разработать алгоритмы заполнения различных фигур определенным стилем на языке Pascal .
Были выделены следующие задачи:
- изучить литературу по проблеме исследования.
-определить существующие стили заполнения.
- выявить возможности и средства компьютерной графики в Турбо Паскале.
- разработать алгоритмы заполнения различных фигур определенным стилем на языке Pascal .

Содержание работы

Введение…………………………………………………………………………...3
Стиль заполнения. Кисть. Текстура……………………………………………………………………………5
Алгоритмы заполнения различных фигур определенным стилем……………………………………………………………………………...8
Заключение……………………………………………………………………….20
Список литературы………………………………………………………………21

Содержимое работы - 1 файл

Алгоритмы заполнения фигур определенным стилем.doc

— 209.50 Кб (Скачать файл)

     Uses Graph; {подключение модуля Graph}

     Const {описание констант}

       z:array[1..4] of PointType= {с помощью массива задаем координаты треугольника}

     ((x:400;y:200),

     (x:600;y:400),

     (x:200;y:200),

     (x:400;y:200));

     Var Driver,Mode:Integer; {определяет тип и задает режим работы графического драйвера}

     X,Y,c:Integer;

     Begin

     {Инициализация  графического режима}

     Driver:=Detect;

     InitGraph(Driver,Mode,'C:\tp\BGI');

     SetColor(4); {красный цвет рисунка}

     SetBkColor(0); {черный цвет фона}

     DrawPoly(4,z);{треугольник проходящий через данный массив точек}

     for x:=200 to 600 do begin{ перебираем  координаты точки по х }

     for y:=200 to 400 do begin{ перебираем  координаты точки по у }

     if ((x mod 15)<1) and ((y mod 15)<1) then begin{задаем условие расстановки точек}

     a:=0; {начальное значение угла окружности}

     {перебираем все углы окружности с шагом 0,1}

     while (a<6.28) do begin {цикл с предусловием}

       ax:=Round(cos(a)*4)+x;{задаем параметрическое уравнение для окружности с радиусом 2}

       ay:=Round(sin(a)*4)+y; {задаем параметрическое уравнение для окружности, которая служит стилем заполнения}

       if (y>(1*(x-400)+300)) and (y>(1*(-x+1100)-400))  and (y<400)  then begin{ограничиваем область заполнения треугольником }

       c:=4; end else c:=0;

       PutPixel(ax,ay,c); {процедура выставления точки с заданными координатами и цветом}

     a:=a+0.1;{шаг}

     end;

     end;

     ReadLn; {задержка изображения на экране до нажатия enter}

     CloseGraph; {выход из графического режима в символьный}

     End.

  1. Матовая поверхность треугольника:

     Uses Graph; {подключение модуля Graph}

     Const {описание констант}

       z:array[1..3] of PointType= {с помощью массива задаем координаты треугольника}

     ((x:400;y:300),

     (x:600;y:500),

     (x:200;y:500));

     Var Driver,Mode:Integer; {определяет тип и задает режим работы графического драйвера}

     X,Y:Integer;

     Begin

     {Инициализация графического режима}

     Driver:=Detect;

     InitGraph(Driver,Mode,'C:\tp\BGI');

     SetColor(4); {красный цвет рисунка}

     SetBkColor(0); {черный цвет фона}

     DrawPoly(3,z);{треугольник проходящий через данный массив точек}

     for x:=200 to 600 do begin{ перебираем  координаты точки по х }

     for y:=300 to 499 do begin{ перебираем  координаты точки по у }

          if (y>(1*(x-400)+300)) and (y>(1*(-x+1100)-400))  then begin{ограничиваем область заполнения треугольником }

     PutPixel(x,y,random(16)); {процедура выставления точки с заданными координатами и цветом, который определяется функцией псевдослучайного числа в интервале от [0,16)}

     ReadLn; {задержка изображения на экране до нажатия enter}

     CloseGraph; {выход из графического режима в символьный}

     End. 
 

       
 
 
 
 
 
 
 
 
 
 
 
 
 

Заключение

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

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

     Список  литературы

    1. Ботко А., Жук Д.М., Маничев В.Б. Компьютерная графика. Учебное пособие для вузов. – М.: МГТУ им. Баумана, 2007.
    2. Дягтерев В. Компьютерная геометрия и графика. – М.: Изд.центр «Академия», 2010.
    3. Мураховский В.И.  Компьютерная графика. – М.: АСТ - Пресс, 2002.
    4. Пореев В.Н. Компьютерная графика. – СПб.: БХВ - Петербург, 2002.
    5. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. – М.: Мастерство; НМЦ СПО; Высшая школа, 2001.

Информация о работе Алгоритмы заполнения различных фигур определенным стилем