fraktal := proc(kroki)
local Lista, k;
begin
Lista := []:
k :=PI/3:
kolo := proc(x,y,r, kroki)
begin
A := plot::Circle2d(r,[x,y],
Filled=TRUE,
FillColor=
[1-kroki/10, kroki/10, kroki/10],
FillPattern=Solid,
LineWidth=0.01
);
Lista := Lista.[A]
end_proc:
iteracja := proc(x,y,r,kroki)
local x1, x2, x3, y1, y2, y3;
begin
if kroki=0 then
kolo(x,y,r,kroki)
else
kolo(x,y,r,kroki):
x1 := x+2*r:
y1 := y:
x2 := x-2*r*cos(k):
y2 := y+2*r*sin(k):
x3 := x-2*r*cos(k):
y3 := y-2*r*sin(k):
r := r/2:
kroki := kroki-1:
// kolejne kroki rekurencyjne
iteracja(x1,y1,r, kroki):
iteracja(x2,y2,r, kroki):
iteracja(x3,y3,r, kroki):
end_if
end_proc:
iteracja(0,0,1,kroki):
return(op(Lista))
end_proc:
plot( fraktal(6), Axes=None Scaling=Constrained )

