амент з зафарбованих трикутників, отриманий копіюванням базової фігури - рівностороннього трикутника зі стороною 60 пікселів, побудованого в лівому верхньому кутку екрану, по осі ОХ
В
Рисунок 9 - Перенесення, створення орнаментів
(6);: = 0; {змінна, що визначає значення зсуву по осі ОХ}
repeat (0 + i, 50); lineto (60 + i, 50); (30 + i, 0); lineto (0 + i, 50); (1, 6); floodfill (30 + i, 20, 6);
i: = i +60 i> 640;
Так як перенесення базової фігури здійснюється в одному напрямку (по осі ОХ), то використовується одна циклічна конструкція repeat ... until. Змінна циклу i приймає початкове значення 0, змінюється з кроком 60 до тих пір, поки її значення не стане більше 640. p align="justify"> Згідно з малюнком 9 правої половини представлений орнамент з зафарбованих трикутників, отриманий копіюванням по осі ОХ і по осі OY базової фігури (рівностороннього трикутника):
(6);: = 0; {змінна, що визначає значення зсуву по осі OY}: = 0; {змінна, що визначає значення зсуву по осі ОХ}
repeat (0 + i, 50 + j); lineto (60 + i, 50 + j); (30 + i, 0 + j); lineto (0 + i, 50 + j) , (1, 6), floodfill (30 + i, 20 + j, 6),: = i +60 i> 640;: = j +50 j> 479;
Так як перенесення базової фігури виробляється і по осі ОХ, і по осі ОY, то для створення орнаменту використовуються два цикли з двома змінними: i (по горизонталі) і j (по вертикалі).
графіка паскаль Декартова полярний
3.1.3 Моделювання руху
Використовуючи правила перенесення, можна моделювати рух об'єкта на екрані. Для цього необхідно спочатку визначити закон руху: по горизонталі (для координати х) та/або по вертикалі (для координати у). Для організації руху використовується циклічна конструкція залежно від обраного кроку (зсуву). p align="justify"> Алгоритм руху об'єкта по горизонталі:
) задати початкове значення змінної х - значення зсуву по осі;
) поки х менше або дорівнює кінцевому значенню, виконувати наступну послідовність дій:
{намалювати об'єкт вибраним кольором малювання;
зафіксувати положення об'єкту на екрані;
намалювати об'єкт кольором фону екрану;
х: = х + dx}
Нижче представлений фрагмент програми переміщення по горизонталі об'єкта - рівностороннього трикутника зі стороною 60 пікселів, побудованого у верхньому лівому куті екрану:
ог х: = 0 to 639 do {рух по горизонталі з кроком 1}
begin (6); {малюємо об'єкт} (0 + x, 50); lineto (60 + x, 50);
lineto (30 + x, 0); lineto (0 + x, 50); (lOO); {фіксуємо положення об'єкту на екрані} (0...