ПРАКТИЧЕСКАЯ РАБОТА № 10
Begin
Begin
Порядок выполнения
21. Создать новый проект.
22. Объявить глобальные переменные
k,gd,gm,mx,my:integer; ch :char;
23. Создать следующие процедуры
procedure TForm1.FormCreate(Sender: TObject);
begin
k:=15;//минимальный размер окружности
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
krug(X , Y , Y div 2);
end;
procedure tform1.krug(x,y,r:integer);
if r>k then
krug(x+r,y,r div 2);
krug(x,y+r,r div 2);
krug(x-r,y,r div 2);
krug(x,y-r,r div 2);
end;
form1.Canvas.Ellipse (x-r,y-r,x+r,y+r);
end;
24. Проверить работу программы.
25. Изменить процедуры tform1.krug и FormMouseDown,проверить работу программы
if r>k then
begin
form1.Canvas.Pen.Color :=RGB(Random(255),Random(255),Random(255));
krug(x+r+(r div 2),y,r div 2);
krug(x,y+r+(r div 2),r div 2);
krug(x-r-(r div 2),y,r div 2);
krug(x,y-r-(r div 2),r div 2);
end;
form1.Canvas.Ellipse (x-r,y-r,x+r,y+r);
end;
krug(X , Y , Y div 4)
26. Заменить рисование окружности на рисование прямоугольника и просмотреть результат.
27. Самым знаменитым примером площадного геометрического фрактала является треугольник Серпинского (см. рис.), строящийся путем разбиения треугольника, необязательно равностороннего – средними линиями на четыре подобных треугольника, исключением центрального и рекурсивного разбиения угловых треугольников до получения площадных элементов желаемого разрешения.
Добавить на форму командную кнопку и ввести для нее следующий код
tri(150,150,225,0,300,150,5);
Создать и объявить следующую процедуру
PROCEDURE tform1.TRI(x1,y1,x2,y2,x3,y3, N: integer);
Var x12,y12,x23,y23,x31,y31: integer;
Begin If N<>0 then
begin
x12:=(x1+x2) div 2; y12:=(y1+y2) div 2;
x23:=(x2+x3) div 2; y23:=(y2+y3) div 2;
x31:=(x3+x1) div 2; y31:=(y3+y1) div 2;
form1.Canvas.MoveTo(x31,y31);
form1.Canvas.LineTo(x12,y12);
form1.Canvas.LineTo(x23,y23);
form1.Canvas.LineTo(x31,y31);
TRI(x1,y1,x12,y12,x31,y31, N-1);
TRI(x2,y2,x12,y12,x23,y23, N-1);
TRI(x3,y3,x31,y31,x23,y23, N-1)
end;
end;
28. Проверить работу программы.
Самостоятельно разработать программу, которая рисует множество Кантора.
Рисунок множество Кантора образован квадратами. Каждый следующий квадрат в четыре раза меньше предыдущего. Центр каждого следующего квадрата расположен в вершине предыдущего квадрата и т.д. Так как рисунок состоит из однотипных элементов, и есть явная зависимость, как размеров, так и положения, следовательно, при создании данного рисунка можно использовать в программе рекурсию.
Тема Графические возможности Delphi
Цель работы:Получить навыки использования в приложении битовых образов.