Diagrams can be superimposed by including their procedures in the display command:
Fig. 3.1
display([genSpir(50), pointSpir(50)]);
Fig. 3.2 display([pointSpir(50),FibSpirOne(50,8,0),FibSpirOne(50,8,1)]);

Fig 3.3
display([pointSpir(50),FibSpirals(50,8),FibSpirals(50,13)],thickness=2):
In Fig 3.3 the points plotted by pointSpir(50) are obscured by the plots of FibSpirals(50,8) and FibSpirals(50,13). This can be remedied as follows. Modifying the programs in pp. 481-482 of Michael Kofler, "Maple: An Introduction and Reference," Addison - Wesley, 1997), we obtain a procedure circplot which applies to a list of points (represented by cartesian coordinate pairs) and a real number rx; as output it plots a circle of radius rx at each of the points. This allows us to define a procedure circSpir(seedpoints,rx) which draws a circle of radius rx at each point of the discrete generative spiral.
circ:=proc(x::numneric, y::numeric,
rx::numeric, n::numeric)
local data, i,
data:=NULL;
for i from 0 to evalf(2*Pi-0.00001) by evalf(2*Pi/n) do
data:=data, [Evalf(x+rx*sin(i),5),evalf(y+rx*cos(i),5,)];
od;
[data];
end:
circplot:=proc(data::list, rx::numeric)
local i, pol;
pol:=[];
pol:=seq(circ(data[i][1],data[i][2],rx,25),
i=1..nops(data));
polygonplot([pol].scaling=constrained,axes=none);
end:
circSpir:=proc(n::integer,rx::numeric) local i,a,r,s;
s:=NULL;
for i from 0 to n do
a:=gold*i; r:=n*gold-a;
s:=s, [evalf(r*cos(a)),evalf(r*sin(a))];
od;
circplot([s],rx);
end:
Fig. 3.4-P display([pointSpir(50)]);
Fig 3.4-2
display([circSpir(50,2)]);
Fig. 3.4-3 display([circSpir(50,3)]);
Fig 3.5-3
display([circSpir(50,3),FibSpirals(50,8),
FibSpirals(50,13)],thickness=2);
Remark 3.1 Whereas the procedures
genSpir, pointSpir and FibSpirals were developed as part of our scientific
investigation, the procedure circSpir merely improves the presentation
of the scientific results. This in developing the procedure circSpir we
are doing graphic arts, not science. There is nothing wrong with combining
the two activities but it is important to be aware that the two kinds of
work have different goals.