Каталог Индекс раздела
Назад Оглавление Вперед

Лабораторная работа N10
КОМПЬЮТЕРНАЯ ГРАФИКА

1. ЦЕЛЬ РАБОТЫ: познакомиться с возможностями графических операторов, построение графических изображений в Паскале.

2. ОСНОВНЫЕ СВЕДЕНИЯ

На экране компьютера можно получать не только последовательности символов, но и разнообразные рисунки, схемы, картинки. Для этого в Паскаль включаются специальные средства - графические процедуры и операторы, которые находятся в модуле Graph.

Следует отметить, что графическое изображение на экране составляется из точек (например, как фотографии в газетах, журналах и др.). Количество точек (пикселей) на экране зависит от разрешающей способности экрана. Каждая точка задается двумя координатами (x, y). Точка с координатами (0,0) находится в левом верхнем углу экрана. Ось X направлена вправо, а ось Y вниз.

Процесс построения изображений с помощью графических процедур разбивается на отдельные этапы:

  1. Переключить монитор в графический режим с помощью оператора InitGraph (Driver, mode, <путь к драйверу>) .
  2. Установить разрешающую способность экрана по умолчанию режимом Detect или процедурой SetGraphMode. Режим Detect устанавливает разрешающую способность экрана 640*480 пикселей, т.е. координата X может принимать значения от 0 по 639, а Y от 0 по 479.
  3. Очистить и инициализировать графический экран процедурой ClearDevice.
  4. Установить цвет фона оператором SetBkColor и цвет изображения оператором SetColor.
  5. Вывести на экран точки, отрезки, прямоугольники, дуги, окружности, эллипсы.
  6. Вывести на экран закрашенные фигуры.
  7. Вывести тексты и подписи на экран. Для использования операторов Write и Writeln в графическом режиме необходимо выполнить следующую операцию присваивания: DirectVideo := FALSE; Или использовать процедуру Outtextxy(x,y,st), которая выводит строку st, начиная с позиции (x, y).

Цвета в операторах задаются с помощью своих кодов:

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

Цифровое кодирование цвета соответствует последовательности IRGB для 0-3 битов. Бит 3 - бит интенсивности I, бит 2 - бит красного R, бит 1 - бит зеленого G, бит 0 - бит синего B. Например, 11=8+2+1, т.е. биты 3,1,0 - интенсивный сине-зеленый (бирюзовый).

Основные графические операторы для построения изображений:

Пример программы построения графика функции.

program graphic;
uses graph,crt;
var driver, mode, errorcode : integer;
xm,ym,i,j : integer;    pi,pi300,x1,y1,x2,y2, sc : real;
st1,st2,st3 : string;
 function f(x:real) : real;
 begin
  f:=sin(x)+sin(2*x)+sin(3*x)-1-cos(x)-cos(2*x);{ функция для построения}
 end;								{графика}
  begin									
 st1:='x';st2:='y';
 st3:=' Нажмите ENTER';
 sc:=50;
 driver:=9;    {egavga}
 mode:=2;   {640х480 пикселей}
 initgraph(driver,mode,'d:\bp\bgi'); {инициализация графического режима }
 errorcode:=graphresult;
 if errorcode<>grok then {ошибка }
  begin
   writeln('ошибка инициализации граф. режима');
   closegraph; halt;
  end;
  xm:=getmaxx div 2;
  ym:=getmaxy div 2;
  {  xm=320;ym=240;центр экрана}
  line(xm,20,xm,460);{ось y}
  line(20,ym,620,ym);{ ось x}
  outtextxy(630,ym,st1); {маркировка оси х}
  outtextxy(xm,10,st2); {маркировка оси у}
  pi:=3.1415926; pi300:=pi/300;
  x1:=-pi;
  for i:=0 to 24 do  {разметка оси x вертикальными черточками}
   begin
    line(xm+round(80*x1),230,xm+round(80*x1),250);
    x1:=x1+pi300*25;
   end;
  x1:=-pi; {собственно построение графика отрезками прямых}
  while x1<pi do
   begin
    y1:=f(x1);x2:=x1+pi300;
    y2:=f(x2);
    line(xm+round(80*x1), ym-round(sc*y1),
    xm+round(80*x2), ym-round(sc*y2));
    x1:=x2;
   end;
   outtextxy(270,470,st3);
   readln;
   closegraph;
  end.

3. ВЫПОЛНЕНИЕ РАБОТЫ

  1. Набрать и откомпилировать приведенный пример программы.
  2. Объяснить логику данной программы.
  3. Согласно вариантам заданий из Лабораторной работы N6 составить программу построения графиков соответствующих функций.

4. КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. Что такое графический режим и как в него перейти?
  2. Установка опций графического режима.
  3. Система координат и диапазоны их значений.
  4. Основные графические функции.
  5. Принципы построения графика функции.
  6. Привести пример построения 10 концентрических окружностей разного цвета.

Каталог Индекс раздела
Назад Оглавление Вперед