Обработка графической информации в языке программирования 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. Разместите на экране окружность, центр и радиус которой получены случайным образом, и из центра окружности к некоторой ее точке проведите радиус.