When we first started trying to use Maple to create a maple leaf like the one in the Canada 150 logo, we couldn’t find any references online to the exact geometry, so we went back to basics. With our trusty ruler and protractor, we mapped out the geometry of the maple leaf logo by hand.

Our first observation was that the maple leaf could be viewed as being comprised of 9 kites. You can read more about the meaning of these shapes on the Canada 150 site (where they refer to the shapes as diamonds).

We also observed that the individual kites had slightly different scales from one another. The largest kites were numbers 3, 5 and 7; we represented their length as 1 unit of length. Also, each of the kites seemed centred at the origin, but was rotated about the y-axis at a certain angle.

As such, we found the kites to have the following scales and rotations from the vertical axis:

Kites:

1, 9: 0.81 at +/-

2, 8: 0.77 at +/-

3, 5, 7: 1 at +/-, 0

4, 6: 0.93 at +/-

This can be visualized as follows:

To draw this in Maple we put together a simple procedure to draw each of the kites:

# Make a kite shape centred at the origin.

opts := thickness=4, color="#DC2828":

MakeKite := proc({scale := 1, rotation := 0})

local t, p, pts, x;

t := 0.267*scale;

pts := [[0, 0], [t, t], [0, scale], [-t, t], [0, 0]]:

p := plot(pts, opts);

if rotation<>0.0 then

p := plottools:-rotate(p, rotation);

end if;

return p;

end proc:

The main idea of this procedure is that we draw a kite using a standard list of points, which are scaled and rotated. Then to generate the sequence of plots:

shapes := MakeKite(rotation=-Pi/4),

MakeKite(scale=0.77, rotation=-2*Pi/5),

MakeKite(scale=0.81, rotation=-Pi/2),

MakeKite(scale=0.93, rotation=-Pi/8),

MakeKite(),

MakeKite(scale=0.93, rotation=Pi/8),

MakeKite(scale=0.81, rotation=Pi/2),

MakeKite(scale=0.77, rotation=2*Pi/5),

MakeKite(rotation=Pi/4),

plot([[0,-0.5], [0,0]], opts): #Add in a section for the maple leaf stem

plots:-display(shapes, scaling=constrained, view=[-1..1, -0.75..1.25], axes=box, size=[800,800]);

This looked pretty similar to the original logo, however the kites 2, 4, 6, and 8 all needed to be moved behind the other kites. This proved somewhat tricky, so we just simply turned on the point probe in Maple and drew in the connected lines to form these points.

shapes := MakeKite(rotation=-Pi/4),

plot([[-.55,.095],[-.733,.236],[-.49,.245]],opts),

MakeKite(scale=0.81, rotation=-Pi/2),

plot([[-.342,.536],[-.355,.859],[-.138,.622]],opts),

MakeKite(),

plot([[.342,.536],[.355,.859],[.138,.622]],opts),

MakeKite(scale=0.81, rotation=Pi/2),

plot([[.55,.095],[.733,.236],[.49,.245]],opts),

MakeKite(rotation=Pi/4),

plot([[0,-0.5], [0,0]], opts):

plots:-display(shapes, scaling=constrained, view=[-1..1, -0.75..1.25], axes=box, size=[800,800]);

Happy Canada Day!