Модуль Graph

Содержание

Слайд 2

Инициализация и завершение гpафического режима

InitGraph (driver, mode : integer; path : string);
При

Инициализация и завершение гpафического режима InitGraph (driver, mode : integer; path :
driver:=detect включается автоопределение режима работы видеоадаптера.
CloseGraph;

Слайд 3

Процедуры и функции, управляющие графическим режимом

RestoreСrtМode; - Возвращение в текстовый режим.
SetGraphMode(mode:integer); -

Процедуры и функции, управляющие графическим режимом RestoreСrtМode; - Возвращение в текстовый режим.
Вход в графический режим, и очистка экрана.
GraphResult : integer; - получение кода ошибки.

Слайд 4

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

(0,0)

(639,0)
Х

Y
(0,479)

Система координат (0,0) (639,0) Х Y (0,479)

Слайд 5

Процедуры и функции работы с точками

GetMaxX:integer; - получение максимального значения координаты Х
GetMaxY:integer;

Процедуры и функции работы с точками GetMaxX:integer; - получение максимального значения координаты
- получение максимального значения координаты Y
GetPixel:(x,y:integer):word; - получение цвета пикселя с заданными координатами
GetX:integer; - получение координаты Х текущей позиции
GetY:integer; - получение координаты Y текущей позиции
PutPixel(x,y:integer; C:word) - рисует точку с заданными координатами и цветом

Слайд 6

Перемещение указателя CP (current pointer)

Moverel (dx,dy : integer); - относительное смещение курсора

Перемещение указателя CP (current pointer) Moverel (dx,dy : integer); - относительное смещение
из текущей точки
Moveto (x,y : integer); - передвижение курсора в точку (x,y)

Слайд 7

Процедуры и функции управления цветом

SetBkColor(C:word); - задание цвета фона
GetBkColor:word; - получение цвета

Процедуры и функции управления цветом SetBkColor(C:word); - задание цвета фона GetBkColor:word; -
фона
SetColor(c:word); - задание текущего цвета изображения
GetColor:word; - получение текущего цвета линий и контуров
GetMaxColor:word; - получение максимального кода цвета в палитре

Слайд 8

Процедуры работы с линиями

Line (X1,Y1,X2,Y2:integer); - построение линии от одной точки до

Процедуры работы с линиями Line (X1,Y1,X2,Y2:integer); - построение линии от одной точки
другой
LineRel (dX,dY:integer); - построение линии на вектор
LineTo(X,Y:integer); - построение линии от текущей точки до заданной

Слайд 9

SetLineStyle(LineStyle,Pattern,T:word);
- задает параметры линии (стиль, шаблон и толщину).
Стиль:
0 – сплошная;

SetLineStyle(LineStyle,Pattern,T:word); - задает параметры линии (стиль, шаблон и толщину). Стиль: 0 –
1 – пунктирная;
2 – штрихпунктирная; 3 – штриховая;
4 – заданная пользователем (задается шаблон)
Толщина линии:
1 – нормальная; 3 – толстая
Шаблон: 0

Процедуры работы с линиями

Слайд 10

Rectangle(X1,Y1,X2,Y2:integer); - построение прямоугольника
Arc(X,Y:integer;
StartAngle,EndAngle,Radius:word); - построение дуги окружности
Circle(X,Y:integer;Radius:word); - построение окружности
Ellipse(X,Y:integer;
StartAngle,EndAngle,Xradius,YRadius:word); -

Rectangle(X1,Y1,X2,Y2:integer); - построение прямоугольника Arc(X,Y:integer; StartAngle,EndAngle,Radius:word); - построение дуги окружности Circle(X,Y:integer;Radius:word); -
построение дуги эллипса

Процедуры работы с примитивами

Слайд 11

Пример 1.

uses crt, graph;
var driver, mode : integer; path : string;
begin
driver:=detect;
initgraph (driver,

Пример 1. uses crt, graph; var driver, mode : integer; path :
mode, ‘c:\program\bp\bgi’);
setbkcolor(14); setcolor(2);
while not keypressed do; {readln;}
closegraph;
end.

Слайд 12

Нарисовать по образцу

Нарисовать по образцу

Слайд 13

Построение многоугольника

DrawPoly(N, A)
где N- количество вершин,
А – массив координат вершин

Построение многоугольника DrawPoly(N, A) где N- количество вершин, А – массив координат вершин

Слайд 14

uses Graph, crt;
type k=record
x1,y1:integer;
end;
var a:array [1..100] of k;

uses Graph, crt; type k=record x1,y1:integer; end; var a:array [1..100] of k;
i,m,r,n:integer;
Begin
readln(n);
m:=detect; Initgraph(m,r,'c:\bp\bgi');
Randomize;
for i:=1 to n do
begin
a[i].x1:=random(630);
a[i].y1:=random(470);
end;
a[n+1]:=a[1];
i:=n+1;
drawpoly(i,a);
while not keypressed do;
end.

Слайд 15

Процедуры построения закрашенных фигур

SetFillStyle(Pattern,Color) - задает орнамент и цвет заполнения фигур
где

Процедуры построения закрашенных фигур SetFillStyle(Pattern,Color) - задает орнамент и цвет заполнения фигур
Pattern:
0 - Заполнение цветом фона;
1 - Однородное заполнение цветом;
2 - Заполнение - - -;
3 - Заполнение / / /;
4 - Заполнение / / / толстыми линиями;
5 - Заполнение \ \ \ толстыми линиями;
6 - Заполнение \ \ \;
7 - Заполнение клеткой;
8 - Заполнение косой клеткой;
9 - Заполнение частой сеткой;
10 - Заполнение редкими точками;
11 - Заполнение частыми точками.

Слайд 16

Процедуры построения закрашенных фигур

Bar(X1,Y1,X2,Y2) - Построение закрашенного прямоугольника
FloodFill(X,Y,ColorBk) - Заполнение замкнутой

Процедуры построения закрашенных фигур Bar(X1,Y1,X2,Y2) - Построение закрашенного прямоугольника FloodFill(X,Y,ColorBk) - Заполнение
области из точки(X,Y) до границы с цветом ColorBk
FillEllipse(X,Y,Xradius,Yradius) - Построение закрашенного эллипса
PieSlice(X,Y,StAngle,EndAngle,Radius) -Построение закрашенного сектора круга
Sector(X,Y, StAngle,EndEngle,Xradius,Yradius) - Построение закрашенного сектора эллипса

Слайд 17

Процедура очистки графического экрана

ClearDevice;

Процедура очистки графического экрана ClearDevice;

Слайд 18

Процедуры для работы с текстом

OutText(text:string); - выводит текст в текущее положение
OutTextXY(x,y:

Процедуры для работы с текстом OutText(text:string); - выводит текст в текущее положение
integer;text:string); - выводит текст в заданное положение
SetTextStyle(Font, Direction, Size:word); - установка стиля текста
SetTextJustify(Horis, Vert:word); - установка выравнивания текста

Слайд 19

Движение по кругу

a:=0;
while not keypressed do
begin
circle(320,240,100);
x:=320+trunc(100*sin(a));
y:=240+trunc(100*cos(a));
fillellipse(x,y,20,20);a:=a+1;
delay(20000);

Движение по кругу a:=0; while not keypressed do begin circle(320,240,100); x:=320+trunc(100*sin(a)); y:=240+trunc(100*cos(a)); fillellipse(x,y,20,20);a:=a+1; delay(20000); cleardevice; end;
cleardevice;
end;

Слайд 20

Условный оператор для выхода из цикла

if keypressed then exit;

Условный оператор для выхода из цикла if keypressed then exit;

Слайд 21

Задания

движение стрелки секундомера по (против) часовой стрелки, пока не нажата клавиша;
движение по

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

Слайд 22

Построение графика функции

Создание декартовой системы координат
Построение осей координат: 2 прямые через точки

Построение графика функции Создание декартовой системы координат Построение осей координат: 2 прямые
(0,240), (639,240), (320,0), (320,479);
Построение стрелок, указывающих направление осей и обозначение осей;
Построение насечек на осях и обозначение насечек:
Пусть единичный отрезок равен 80 px.
Построение насечек на оси OX
v:=-3; { число под насечкой на оси}
i:=1; {счетчик насечек}
while v<=3 do begin
moveto(80*i,238);{построение насечки}
lineto(80*i,242);
str(v:2,s);{преобразование числа в строку}
outtextxy(80*i,244,s);{вывод числа под насечкой}
v:=v+1;
i:=i+1;
end;

Слайд 23

Используем преобразованные координаты x=x+320, y=240-y
x:=-pi; y:=sin(x); {координаты начала}
moveto(trunc(x*80+320),trunc(240-y*80)); {перемещение указателя}

Используем преобразованные координаты x=x+320, y=240-y x:=-pi; y:=sin(x); {координаты начала} moveto(trunc(x*80+320),trunc(240-y*80)); {перемещение указателя}

while x<=pi do begin
x:=x+0.01;{шаг ломаной}
y:=sin(x);
lineto(trunc(x*80+320),trunc(240-y*80)); {построение звена}
end;

Построение графика функции y=sin(x)

Слайд 24

Построение графика функции

Для построения графиков функций необходимо :
1) определить саму функцию
2) определить

Построение графика функции Для построения графиков функций необходимо : 1) определить саму
координаты начала координат и прорисовать оси координат
3) прорисовку графика следует сделать в цикле. Целесообразно использовать цикл с малым шагом (счетчик типа геаl).

Слайд 25

Построение графика функции

Для построения графиков функций необходимо :
4) у-координатой служит заданная функция

Построение графика функции Для построения графиков функций необходимо : 4) у-координатой служит
со счетчиком в качестве аргумента.
5) преобразованные координаты точек графика складываются из координат начала координат «+» сама координата точки (для х-координаты) или «–» сама координата точки (для у-координаты).
6) для растяжения графика по осям координат следует применять коэффициенты масштабирования, на которые надо домножать х- и у-координату .
Имя файла: Модуль-Graph.pptx
Количество просмотров: 157
Количество скачиваний: 0