заливати першими n квітами з значення констант}
line (x, у, x + round (r * соs (а)), y-round (r * sin (a))); (1, b); (x + round ( (r-2) * cos (a-2 * pi/180)), y-round ((r-2) * sin (a-2 * pi/
180)), 15);;;
Для створення ефекту обертання необхідно, щоб кожен раз при зверненні до процедури змінювалося значення кута на 2 * pi/n: другий сектор буде зафарбований першим кольором, третій сектор - другим і т. д.
Створимо рух нашого кола справа наліво, використовуючи спосіб, розглянутий при вирішенні першого завдання:
program animation; graph, crt; n = 8; r = 50; krug (x, y, n, r: integer; a: real); i, b: integer; (15); (x, y, r); (x, у, x + r, y);: = 0; i: = 1 to n do: = a +2 * pi/n;: = b +1; (x, y, x + round (r * cos (a)), y-round (r * sin (a))); (1, b); (x + round ((r-2) * cos (a-2 * pi/180)), y-round ((r-2) * sin (a-2 * pi/
)), 15);;;: real;, gm, k, i, b: integer;: = detect; (gd, gm, ");: = 640;: = 0 ; (k, 240, n, r, a);;: = k-10;: = a +2 * pi/n; (15); (k, 240, n, r, a); (2000); (k-r <= 0) or (keypressed);
closegraph;.
. Закріплення пройденого матеріалу
Завдання. Написати програму руху кола так, щоб усередині її обертався радіус. p align="justify">. Домашнє завдання
Учням пропонується завдання: придумати сюжет з анімацією і реалізувати його на Паскалі.
Додаток Б
{обертання фігури} Graph, Crt;
Const N = 24;
Coord = record, Y: Real;;
: Integer;: Integer;: Array [1 .. N] of Coord;: Coord; {Переміщення}
C: Coord; {Розтягнення}: Real; {Кут повороту}: Real; {Прирощення розміру}
I: Byte;
Tr (P, T: Coord; Var R: Coord); {P яку точку переміщати на яку відстань
R що будемо повертати}
Type Matrix = Array [1 .. 3,1 .. 3] Of Real; I, J: Byte;: Matrix; I: = 1 To 3 Do For J: = 1 To 3 Do If I = J Then O [I, J]: = 1O [I, J]: = 0; [1,3]: = TX; [2,3]: = TY;
. X: = O [1,1] * PX + O [1,2] * PY + O [1,3];. Y: = O [2,1] * PX + O [2,2] * PY + O [2,3];;
Sr (P, S: Coord; Var R: Coord); {P яку точку переміщати масштаб
R що будемо повертати}
Type Matrix = Array [1 .. 3,1 .. 3] Of Real; I, J: Byte;: Matrix; I: = 1 To 3 Do For J: = 1 To 3 Do If I = J Then O [I, J]: = 1O [I, J]: = 0;
[1,1]: = S.X; [2,2]: = S.Y;
. X: = O [1,1] * PX + O [1,2] * PY + O [1,3];. Y: = O [2,1] * PX + O [2,2] * PY + O [2,3];;
Ur (P: Coord; Teta: Real; Var R: Coord); {P яку точку переміщати на яку відстань