Обработка графической информации в языке

advertisement
Обработка графической информации в языке
программирования Pascal
Графические процедуры
Получение изображений на экране компьютера:
1) прямоугольного треугольника и
точки (желтого треугольника на
зеленом фоне и желтой точки):
0
639
160
240 320 400 480
70
175
270
479
2) снежной бабы (белого цвета на
синем фоне):
0
320
639
60
110 60+50
175
180 110+70
20
30
30
40
479
3) прямоугольной трапеции:
Program Triangle;
Uses Graph ;
Var a, b: Integer;
Begin
a:=Detect; InitGraph(a,b,'');
SetBkColor(Green);
SetColor(Yellow);
Line(240,70,240,270);
Line(240, 270,400,270);
Line(240,70,400,270);
PutPixel(400,70,14);
Readln; CloseGraph
End.
Program BABA;
Uses Graph ;
Var a, b: Integer;
Begin
a:=Detect; InitGraph(a,b,'');
SetBkColor(Blue);
SetColor(15); Circle(320,60,20);
Circle(320,110,30);
Circle(320,180,40);
Readln;
CloseGraph
End.
Program TRAPECIA_1;
Uses Graph;
Var a,b: Integer;
0
240 350 450
639
Begin
a:=Detect; InitGraph(a,b,'');
60
MoveTo(240,60);
175
LineTo(240,200); {вниз}
LineTo(450,200); {вправо}
200
LineTo(350,60); {влево вверх}
LineTo(240,60); {влево}
Readln; CloseGraph
479
End.
Второй вариант решения примера 4 (с использованием процедуры LineRel):
Program TRAPECIA_2;
Uses Graph; Var a,b:Integer;
Begin
a:=Detect; InitGraph(a,b,''); MoveTo(240,60);
LineRel(0,140); LineRel(210,0); LineRel(-100,-140);
LineRel(-110,0); Readln; CloseGraph
End.
Упражнения
Напишите программы получения изображений:
1) прямоугольной декартовой системы координат (изобразите оси OX, OY, их направления с
помощью стрелок);
2) получите с помощью счетчика случайных чисел координаты трех точек графического
экрана – вершин треугольника, и изобразите его;
3) получите с помощью счетчика случайных чисел координаты двух точек графического
экрана:
а) диагональных вершин прямоугольника; изобразите прямоугольник и описанную около
него окружность;
б) диагональных точек квадрата; изобразите квадрат и вписанную в него окружность.
Заполнение областей изображений:
1) прямоугольного треугольника
белым цветом (с контуром желтого
цвета на зеленом фоне):
0
160 240 320 400 480
639
70
175
270
479
2) прямоугольного треугольника
красным цветом (с контуром
желтого цвета на зеленом фоне)
3) прямоугольной трапеции
штриховкой светло-серого цвета
нормальной толщины:
0
240 350 450
639
60
175
200
479
Program Triangle_1;
Uses Graph;
Var a,b:Integer ;
Begin
a:=Detect;InitGraph(a,b,'');
SetBkColor(Green);SetColor(14);
Line (240, 70, 240, 270);
Line (240, 270, 400, 270);
Line (240, 70, 400, 270);
FloodFill (320, 260, 14);
Readln; CloseGraph
End.
{корректировка программы Triangle_1}
… Line(240,70,400,270);
SetFillStyle(1,4);{сплошной красный}
FloodFill (320,260,14);
…
Program TRAPECIA_3;
Uses Graph;
Var a,b:Integer;
Begin
a:=Detect;InitGraph(a,b,'');
SetColor(1); {синий контур}
MoveTo(240,60);LineTo(240,200);
LineTo(450,200);LineTo(350,60);
LineTo(240,60);
SetFillStyle(3,7);
FloodFill(350,175,1);
Readln; CloseGraph
End.
4) Написать программу получения Program PRIM;
Uses Graph;
изображения
геометрических
Var a,b: Integer;
объектов на экране монитора:
Begin
a:=Detect;
InitGraph(a,b,'');
SetColor(14);{желтый контур}
СПЕЦИАЛЬНАЯ ЗАЛИВКА
SetBkColor(1);{синий цвет фона}
1
OutTextXY(250,50,'СПЕЦИАЛЬНАЯ
ЗАЛИВКА');
SetFillStyle(1,12);{розовая заливка}
FillEllipse(300,200,30,50);
{эллипс}
SetFillStyle(1,10); {зеленый}
PieSlice(300,140,315,225,20);
479
{сектор}
SetFillStyle(1,8); {серый}
Результаты
работы
программы
Sector(300,300,45,135,100,50);
приводятся на рисунке:
{сектор эллипса}
Line (50,450,600,450);
SetFillStyle(1,2);{зеленый
закрашенный}
Bar3D(200,400,100,450,20,True);
SetFillStyle(1,4);{красный
закрашенный}
Bar3D(400,450,450,350,50,True);
Readln; CloseGraph
End.
0
639
Упражнения
1. Получите изображение:
1) треугольной пирамиды (выделите пунктирной линией невидимое ребро);
3) куба;
4) прямоугольного параллелепипеда и его диагоналей;
5) правильной четырехугольной пирамиды и ее высоты;
2. Случайным образом разместите на экране треугольник и изобразите его медианы.
3. Разместите на экране окружность, центр и радиус которой получены случайным образом,
и из центра окружности к некоторой ее точке проведите радиус.
Download