applications.collages.collageAlgebra("dragon outlines"):
{
  line = { polyline((-1,0),(1,0)) },
  line2 = { polyline((-1,1),(1,-1)) },
  
  i1 = scale(1),
  i2 = rotate(180),
  I = < i1, i2 >,
  
  % for the terdragon:
  t1 = similarity((-1,0) -> (-1,0), (1,0) -> (0,1/sqrt(3))),
  t2 = similarity((-1,0) -> (1,0), (1,0) -> (0,1/sqrt(3))),
  T = < t1, t2 >,
  
  % for the Harter-Heightway dragon:
  f1 = similarity((-1,0) -> (-1,0), (1,0) -> (0,-1)),
  f2 = similarity((-1,0) -> (0,-1), (1,0) -> (1,0)),
  F = <f1, f2>,
  
  g1 = similarity((-1,0) -> (-1,0), (1,0) -> (0,0)),
  g2 = similarity((-1,0) -> (1,0), (1,0) -> (0,0)),
  G = <g1,g2>,
  
  % for the twin dragon:
  
  h1 = similarity((-1,1) -> (-1,1), (1,-1) -> (-1,-1)),
  h2 = similarity((-1,1) -> (-1,-1), (1,-1) -> (1,-1)),
  H = <h1, h2>,
  
  k1 = similarity((-1,1) -> (-1,1), (1,-1) -> (0,0)),
  k2 = similarity((-1,1) -> (1,-1), (1,-1) -> (0,0)),
  K = <k1,k2>,
  
  % ... and the last two for yet another dragon:
  l1 = similarity((-1,0) -> (-1,0), (1,0) -> (0,sqrt(1/3))),
  l2 = similarity((-1,0) -> (1,0), (1,0) -> (0,sqrt(1/3))),
  L = <l1, l2>,
  
  m1 = scale(1),
  m2 = translate(-1,0) . rotate(120) . translate(-1,0),
  m3 = translate(1,0) . rotate(-120) . translate(1,0),
  M = <m1,m2,m3>
  
}
