applications.collages.collageAlgebra:
{ 
  ntColour = const(.8),

  leaf = { filledPolygon((-6,0),(6,0),(6,6),(0,10),(-6,6)) },
  rleaf = { filledPolygon((-6,0),(6,0),(6,6),(0,10),(-6,6))[1,0,0] },
  
  sample-outline = { polygon((-6,0),(6,0),(6,6),(0,10),(-6,6)) },
  sample-filled = { filledPolygon((-6,0),(6,0),(6,6),(0,10),(-6,6))[#ntColour,#ntColour,#ntColour] },
  sample-arrow = { filledPolygon((-6,0),(-5.55,1.5),(-6.45,1.5)) },
  sample = #sample-filled + #sample-outline + #sample-arrow,
  
  S = #sample,%leaf,
  bot = #leaf,
  top = #leaf,

  s1 = scale(.5,.55) . translate(0,4.5),
  s2 = scale(.6) . translate(1,0) . rotate(50) . translate(-1.5,1.2),
  s3 = scale(-.6,.6) . translate(-1,0) . rotate(-50) . translate(1.5,1.2),
  s4 = scale(.6),
  F = < s2,s3,s4,s1  >,
  
  t1 = rotate(5) . scale(.45,.5) . translate(0,5),
  t2 = scale(.6) . translate(1,0) . rotate(50) . translate(-1.5,1.2),
  t3 = scale(-.65,.65) . translate(-1,0) . rotate(-50) . translate(1.5,1.2),
  t4 = rotate(-3) . scale(.6) . translate(0,.2),
  G = < t2,t3,t4,t1  >,
  
  u1 = rotate(-5) . scale(.45,.5) . translate(0,5),
  u2 = scale(.65) . translate(1,0) . rotate(50) . translate(-1.5,1.2),
  u3 = scale(-.6,.6) . translate(-1,0) . rotate(-50) . translate(1.5,1.2),
  u4 = rotate(3) . scale(.6) . translate(0,.2),
  H = < u2,u3,u4,u1  >
  
}
