| Maintainer | diagrams-discuss@googlegroups.com |
|---|
Diagrams.Transform
Description
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
equivalent to a rotation by 120 degrees about the point
rotateBy (1/3) `under` translationX 1(-1,0) (you may have to think about this for a minute =).
Note that
(transform t2) `under` t1 == transform (conjugate t1 t2)
for all transformations t1 and t2.