Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
1) прямоугольного треугольника и точки (желтого треугольника на зеленом фоне и желтой точки): 0 160 240 320 400
70 175 270 479 | 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. | |
2) снежной бабы (белого цвета на синем фоне): 0 320 639
60 110 175 180 479 | 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. | |
3) головы робота: 0 320 639
150 175 190 230 479 | Program ROBOT; Uses Graph ; Var a, b : Integer ; Begin a:=Detect; InitGraph (a, b, ''); SetBkColor (Blue); SetColor (15); Rectangle (290,150,350,230); {голова} Rectangle (280,180,290,200); {уши} Rectangle (350,180,360,200); Readln; CloseGraph End. |
MoveTo (X, Y); Перемещение текущего указателя в точку с координатами (X,Y) MoveRel (dX,dY); Перемещение указателя от точки (X, Y) до точки (X+dX, Y+dY) LineTo (X,Y); Построение отрезка от текущей точки в точку (X,Y) LineRel (dX, dY); Построение отрезка от текущей точки (X, Y) до точки (X+dX,Y+dY) Положение текущей точки зависит от графического оператора, который был выполнен последним: например, после оператора Line (0, 0, 70, 50); текущей становится точка (70, 50); после оператора PutPixel (30, 90); – точка (30, 90). | |
Пример 4. Получить изображение прямоугольной трапеции: 0 240 350 450 639
60 175 200 479 | Program TRAPECIA_1; Uses Graph ; Var a, b : Integer ; Begin a:=Detect; InitGraph (a, b, ''); MoveTo (240,60); LineTo (240,200); {вниз} LineTo (450,200); {вправо} LineTo (350,60); {влево вверх} LineTo (240,60); {влево} Readln; CloseGraph 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. | |
* 2. Паскаль позволяет изображать линии разнообразных стилей (по ширине и начертанию – внешнему виду). Установка стиля производится с помощью процедуры SetLineStyle (вид линии, шаблон, толщина линии); Будем считать шаблон равным нулю. Остальные значения могут быть такими: вид линии: сплошная линия (0), точечная (1), штрихпунктирная (2), пунктирная (3); толщина линии: нормальной толщины (1), тройной толщины (3). Например, SetLineStyle (0,0,3); {Задание большой толщины линии} SetLineStyle (3,0,1); {Задание пунктирной линии нормальной толщины} | |
* 3. Возможно совместное подключение модулей Crt и Graph и использование в одной программе подпрограмм обеих модулей. Например, для замедления процесса рисования можно использовать процедуру Delay. | Program CRT_GRAPH; Uses Crt, Graph ; Var a, b: Integer ; Begin … LineTo (240,200); Delay (20000); LineTo (450,200); Delay (30000); … CloseGraph End. |
![]()
1. Испытайте приведенные программы, дополните рисунки необходимыми деталями:
1) у снежной бабы изобразите глаза-пуговки, нос-морковь, руки-палки;
2) дорисуйте роботу прямоугольные глаза, нос, рот, антенны; вместо процедуры Rectangle используйте процедуру Bar.
2. Напишите программы получения изображений:
1) лица человека; 2) солнца с лучами; 3) скворечника;
4) дома; 5) секундомера со стрелками; 6) своих инициалов;
7) прямоугольника, квадрата, параллелограмма; 8) электрической цепи;
9) тупоугольного и остроугольного треугольников; 10) машины;
11) избушки на курьих ножках; 12) квадрата и вписанной в него окружности;
13) прямоугольной декартовой системы координат (изобразите оси OX, OY, их направления с помощью стрелок);
* 14) получите с помощью счетчика случайных чисел координаты трех точек графического экрана – вершин треугольника, и изобразите его;
* 15) получите с помощью счетчика случайных чисел координаты двух точек графического экрана: а) диагональных вершин прямоугольника; изобразите прямоугольник и описанную около него окружность; б) диагональных точек квадрата; изобразите квадрат и вписанную в него окружность;
16)
а)
|
|
|
|
|
|
|
|
| к)
|
* 3. При выполнении изображений используйте различные стили: в прямоугольнике изобразите, например, пунктирной линией диагонали.
* 4. Напишите программы для моделирования процесса построения:
1) серединного перпендикуляра к заданному отрезку; 2) треугольника, равного данному, координаты которого получены с помощью счетчика случайных чисел; 3) треугольника, подобного данному.
17.3. Построение сложных графических объектов
Научимся строить сложные графические объекты:
|
| Аrc (X, Y, α1, α2, R); (X,Y) – координаты центра дуги, R – радиус, α1, α2 – начальный и конечный углы, которые образуют концы дуги с горизонтальной осью (отсчитываются против часовой стрелки). |
2. Построение дуги эллипса текущим цветом: Ellipse (X, Y, α1, α2, RX, RY);
где (X,Y) – координаты центра эллипса, RX, RY – длины горизонтальной и вертикальной полуосей (большого и малого радиусов), α1, α2 – начальный и конечный углы, которые образуют концы дуги с горизонтальной осью (отсчитываются против часовой стрелки).
Примеры:
1. Ellipse (100, 100, 0, 360, 70, 30); Построение эллипса с центром в точке (100, 100) и длинами полуосей 70 и 30.
2. Arc (250, 200, 90, 270, 100); Построение «левой» полуокружности с центром в точке (250, 200) и радиусом 100.
17.4. Заполнение областей изображения
Вы уже знаете, каким образом в Паскале изображается закрашенный прямоугольник. Имеются другие средства для «заливки» замкнутых областей.
Будем понимать под заливкой заполнение некоторым узором (цветом или штриховкой различного вида) области изображения, ограниченной контуром (непрерывной замкнутой линией).
Пусть на экране компьютера получено изображение некоторого замкнутого контура с использованием цвета С (С – цвет контура области) и задана некоторая точка экрана (X, Y). Если данная точка принадлежит области, ограниченной контуром, то эта область может быть заполнена текущим цветом с помощью процедуры: FloodFill (X, Y, C); Если точка находится вне области, происходит заполнение внешней к контуру области.
Для выбора стиля (шаблона и цвета) заполнения области используется процедура SetFillStyle: SetFillStyle (шаблон, цвет заполнения) ;
Значения шаблона задаются равными: 0 (сплошной цвет фона), 1 (сплошной текущий цвет), 2-6 (штриховка различной толщины и наклона), 7-9 (заполнение клеткой различной толщины и наклона), 10-11 (заполнение редкими и частыми точками).
При использовании SetFillStyle цвет заполнения может быть не равен цвету контура.
Примеры заполнения областей изображений:
1) прямоугольного треугольника белым цветом (с контуром желтого цвета на зеленом фоне): 0 160 240 320 400
70 175 270 479 | Program Triangle_1; Uses Graph ; Var a, b : Integer ; Begin a:=Detect; InitGraph (a, b, ''); SetBkColor (Green); SetColor (14);
Line (240, 270, 400, 270); Line (240, 70, 400, 270); FloodFill (320, 260, 14); Readln; CloseGraph End. |
2) прямоугольного треугольника красным цветом (с контуром желтого цвета на зеленом фоне) | {корректировка программы Triangle_1} … Line (240, 70, 400, 270); SetFillStyle (1, 4); {сплошной красный} FloodFill (320, 260, 14); … |
2) прямоугольной трапеции штриховкой светло-серого цвета нормальной толщины: 0 240 350 450 639
60 175 200 479 | 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. |
3) окружности желтым цветом, которая после нажатия на клавишу “Enter” изменяет цвет заливки на зеленый цвет: 0 320 639
175
479 | Program CIRC; Uses Graph ; Var a, b : Integer ; Begin a:=Detect; InitGraph (a, b, ''); SetColor (14); {желтый контур} Circle (320, 175, 50); SetFillStyle (1, 14); {желтая заливка} FloodFill (320, 175, 14); Readln; ClearDevice; {очистка экрана} SetColor (14); {желтый контур} Circle (320, 175, 50); SetFillStyle (1, 2); {зеленая заливка} FloodFill (320,175,14); Readln; CloseGraph End. |
* Процедуры, обеспечивающие заполнение специальных областей изображения (эллипса, секторов круга и эллипса, параллелепипеда):
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |






















