Some convenient functions related to transformations.
Conjugate one transformation by another.
conjugate t1 t2 is the
transformation which performs first
t2, then the
Carry out some transformation "under" another one:
f ` first applies
f, then the inverse of
is the transformation which scales by a factor of 2 along the
diagonal line y = x.
scaleX 2 `
rotationBy (-1/8 :: CircleFrac)
(transform t2) `under` t1 == transform (conjugate t1 t2)
for all transformations