Maintainer | diagrams-discuss@googlegroups.com |
---|---|
Safe Haskell | None |
Some convenient functions related to transformations.
- conjugate :: HasLinearMap v => Transformation v -> Transformation v -> Transformation v
- under :: Transformable a => (a -> a) -> Transformation (V a) -> a -> a
Documentation
conjugate :: HasLinearMap v => Transformation v -> Transformation v -> Transformation vSource
Conjugate one transformation by another. conjugate t1 t2
is the
transformation which performs first t1
, then t2
, then the
inverse of t1
.
under :: Transformable a => (a -> a) -> Transformation (V a) -> a -> aSource
Carry out some transformation "under" another one: f `
first applies under
`
tt
, then f
, then the inverse of t
. For
example,
is the transformation which scales by a factor of 2 along the
diagonal line y = x.
scaleX
2 `under
` rotationBy
(-1/8 :: CircleFrac)
Note that
(transform t2) `under` t1 == transform (conjugate t1 t2)
for all transformations t1
and t2
.