|
Фрактальні квадрати - 2
Нові статті
Пилипчук О.П., вчитель інформатики Гаврилівської ЗОШ
Теофіпольського району Хмельницької області
Фрактальні квадрати - 2
Рекурсія при побудові
зображення (Паскаль)
Реалізуємо побудову фрактального малюнка засобами мови Паскаль в
середовищі АЛГО. Оскільки принцип побудови детально розглянутий у
статті "Фрактальні
квадрати - 1", то обмежимось розглядом програми та її особливостей.
Процедура kwadrat , яка безпосередньо забезпечує
побудову, отримує такі аргументи: ціле число G - для
керування глибиною
рекурсії, цілі числа x1,y1,x2,y2 - координати лівого
верхнього та правого нижнього кутів базового прямокутника.
Отже, основою візерунка може бути не лише квадрат, але й довільний
прямокутник. Крім цього, до процедури введено команди для керування
кольором ліній та заповнення фігур.
program kwadrat;
procedure kwadrat(G,x1,y1,x2,y2:integer);
var kX,kY:integer;
begin
kX:=round((x2-x1)/3); {обчислення третини ширини...}
kY:=round((y2-y1)/3); {...та третини висоти}
Brush( 1, G*60, 0, G*30);
{керування кольорами}
Pen( 1, G*40, G*35,0);
rectangle(x1+kX,y1+kY,x2-kX,y2-kY); {центральний
прямокутник}
if G>0 then {перевірка глибини рекурсії}
begin {рекурсивна побудова 8 менших
прямокутників}
kwadrat(G-1,x1,y1,x1+kX,y1+kY);
kwadrat(G-1,x1+kX,y1,x2-kX,y1+kY);
kwadrat(G-1,x2-kX,y1,x2,y1+kY);
kwadrat(G-1,x1,y1+kY,x1+kX,y2-kY);
kwadrat(G-1,x2-kX,y1+kY,x2,y2-kY);
kwadrat(G-1,x1,y2-kY,x1+kX,y2);
kwadrat(G-1,x1+kX,y2-kY,x2-kX,y2);
kwadrat(G-1,x2-kX,y2-kY,x2,y2);
end;
end; { kwadrat }
begin
kwadrat(4,0,0,486,486) {обчислення третини ширини}
end.
Интернет реклама
|
Категорія: Паскаль | Додав: teachlab (21.06.2010) |
Переглядів: 3109 | Рейтинг: 0.0/0 |
Додавати коментарі можуть тільки зареєстровані користувачі. [ Реєстрація | Вхід ]
| |
Статистика |
| |