applications.collages.collageAlgebra:
{
  ntColour = const(.8),
  
  n = const(3.5),
  alpha = const(90/(#n + .5)),
  c = const(1/(1+2*cos(#alpha))),
  
  p = { filledPolygon((-1,0),(0,-tan(#alpha)),(1,0),(0,tan(#alpha))) },
  
  f1 = translate(1,0) . rotate(#alpha) . scale(#c) . translate(-1,0),
  f2 = translate(1,0) . rotate(-#alpha) . scale(#c) . translate(-1,0),
  f3 = translate(0,-tan(#alpha)) . scale(#c) . translate(0,tan(#alpha)),
  f4 = translate(0,tan(#alpha)) . scale(#c) . translate(0,-tan(#alpha)),
  f5 = translate(-1,0) . rotate(-#alpha) . scale(#c) . translate(1,0),
  f6 = translate(-1,0) . rotate(#alpha) . scale(#c) . translate(1,0),
  F = <f1,f2,f3,f4,f5,f6>,
  
  g1 = similarity((-1,0) -> (0,-tan(#alpha)), (1,0) -> (0,tan(#alpha))),
  g2 = use(g1) . rotate(90) . translate(-1 + tan(#alpha),0),
  g3 = use(g1) . rotate(-90) . translate(1 - tan(#alpha),0),
  G = <g1,g2,g3>
}
