2.88M
Category: programmingprogramming

Програмування на мові Паскаль. Графіка (тема 7)

1.

Програмування на
мові Паскаль
Тема 7. Графіка

2.

3.

Система координат
X
(0,0)
y
x
Y
(x,y)

4.

колір

5.

SetPenColor(clRed);
SetPenWidth(3);
Для замкнутих областей:
Brush.Color:=clNavy;

6.

7.

8.

Прозорість : від 0 до 255

9.

10.

Світлофор
Brush.Color:=clNavy;
Rectangle (50, 20, 110, 220);
Rectangle (70, 220, 90, 330);
Rectangle (50, 330, 110, 350);
Brush.Color:=clRed;
Circle(80,60,20);
Brush.Color:=clYellow;
Circle(80,120,20);
Brush.Color:=clGreen;
Circle(80,180,20);

11.

Font.Color:=clRed;
Font.Size:=20;
TextOut(350,400,' Triangle ');
Збереження малюнка:
SaveWindow(‘my_ex.bmp');

12.

Приклад
(200, 50)
(100, 100)
(300, 200)

13.

Побудова графіків функцій
Задача: побудувати графік функції y = 3 sin(x) на
інтервалі від 0 до 2π.
Аналіз:
максимальне значення ymax = 3 при x = π/2
мінімальне значення ymin = -3 при x = 3π/2
Проблема: функція задана в математичній системі
координат, будувати потрібно на екрані, вказуючи
координати в пікселях.

14.

Перетворення координат
Математична
система координат
Екранна система
координат (пікселі)
Y
(0,0)
x
(0,0)
(x,y)
y
b
a


X
(xе,yе)
зображення одиничного
відрізка на екрані)
xе = a + kx
yе = b - ky
k – масштаб (довжина

15.

Програма
на екрані
цикл побудови
графіка
program qq;

const a = 50; b = 200; k = 50;
xmin = 0; xmax = 6.2832;
var x, y, h: real;
h – крок зміни x
xe, ye, w: integer;
w – довжина осі ОХ в пікселях
begin
w := round((xmax - xmin)*k);
Line(a-10, b, a+w, b);
осі координат
Line(a, 0, a, 2*b);
x := xmin; h := 0.05;
while x <= xmax do begin
y := 3*sin(x);
xe := a + round(k*x);
ye := b - round(k*y);
Putpixel (xe, ye, clNavy);
x := x + h;
end;
end.
English     Русский Rules