Товщина 1 - ширина в 1 пiксел 3 - ширина в 3 пiксели
Arc(X,Y:integer; поч_кут, кін_кут, радіус:word) - програмна процедура, результатом роботи якої є дуга окружності з центром в точці (X,Y) і радіусом "радіус". Дуга креслиться від початкового кута ("поч_кут") до кінцевого кута ("кін_кут"). При цьому використовується поточний колір малювання. Bar(X1,Y1,X2,Y2) - процедура малює зафарбований прямокутник, використовуючи колір зафарбування, що встановлюється процедурою SetFillStyle. Контур прямокутника креслиться кольором і типом лінії, що встановлені процедурами SetLineStyle і SetColor. Точки з координатами (X1,Y1) та (X2, Y2) задають дві діагонально протилежні вершини прямокутника. Bar3D(Xl,Yl,X2,Y2:integer; глибина : word, вершина : boolean) - процедура малює зафарбований тривимірний паралелепіпед. Контур паралелепіпеда креслиться кольором і типом лінії, що встановлені процедурами SetLineStyle іSetColor, тип і колір зафарбування встановлюється за допомогою процедур SetFillStyle. "Глибина" являє собою число елементів зображення, що задають третій вимір тривимірного контуру. Якщо змінна, зазначена як параметр "вершина", приймає істинне значення (True), то для паралелепіпеда малюється тривимірна вершина, у протилежному випадку вершина не малюється (що дозволяє малювати кілька паралелепіпедів, розташованих один на одному). Circle(X,Y:integer; радіус : word) - процедура малює окружність поточним кольором. Точка (X,Y) - центр окружності, а "радіус" - її радіус.
Ellipse(X,Y:integer; поч_кут, кін_кут:word; paдХ,paдY:word) - процедура малює еліптичну дугу, використовуючи (X,Y), як точку центра і "радХ", "paдY" - як радіуси на горизонтальній і вертикальній осях. Дуга еліпса малюється від початкового кута (параметр "поч_кут") до кінцевого кута (параметр "кін_кут") поточним кольором.
LineTo(X,Y : integer); - процедура малює пряму лінію з точки, у якій знаходиться поточний покажчик СР, у точку з координатами (X,Y).
FillPoly (n : word; var points); – малює замкнутий многокутник і зафарбовує його. Стиль і колір лінії і контура задається процедурамиSetLineStyle i SetColor, тип і колір заповнення – процедурою SetFillStyle.
55. Анімація. Алгоритми створення рухомого зображення.
Використовувати процедуру delay, яка робить паузу в програмі.
Алгоритм такий: малюємо перший кадр, робимо паузу, очищаємо екран, потім малюємо другий кадр, робимо паузу і т. д.
Наприклад, рух овалу вгору:
x: = 0;
y: = 500;
repeat
y: = y-1;
ClearDevice; {Очищення екрану}
Circle (x, y, 50); {Малюємо коло}
delay (5000); {Робимо паузу в програмі}
until keypressed; {Продовжити, якщо не натиснута клавіша}
Описати на мові програмування Pascal за допомогою модуля graph алгоритм перенесення і анімації геометричних фігур.
Опис змінних:
x, y - координати точки.
Алгоритм вирішення задачі:
Точка на площині задається коордінатаміx1, y1. При перенесенні її становище визначається новими координатами x2, y2, де
x2 = x1 + dx
y2 = y1 + dy
Так як графічний об'єкт являє собою безліч точок, то його можна переносити, застосовуючи рівняння переносу до кожної точки.
Алгоритм перенесення
Встановити колір.
Намалювати фігуру.
Почекати певний проміжок часу.
Замалювати фігуру кольором фону екрану.
Змінити координати на dx і dy.
Встановити колір.
Намалювати фігуру.
Використовуючи правила перенесення, можна моделювати рух об'єкта на екрані. Для цього необхідно спочатку визначити напрямки руху: по горизонталі (для координати x) та / або по вертикалі (для координати y). Для організації руху використовується циклічна конструкція, що залежить від обраного кроку (зсуву).
Алгоритм руху по горизонталі
Задати початкове значення змінної x - значення зсуву по осі.
Поки x менше кінцевого значення, виконувати наступну послідовність дій.