| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Waterfall.TwoD.Transforms
Synopsis
- class Transformable2D a
- rotate2D :: Transformable2D a => Double -> a -> a
- scale2D :: Transformable2D a => V2 Double -> a -> a
- uScale2D :: Transformable2D a => Double -> a -> a
- translate2D :: Transformable2D a => V2 Double -> a -> a
- mirror2D :: Transformable2D a => V2 Double -> a -> a
Documentation
class Transformable2D a Source #
Typeclass for objects that can be manipulated in 2D space
Minimal complete definition
Instances
rotate2D :: Transformable2D a => Double -> a -> a Source #
Rotate by an angle (in radians) about the origin
scale2D :: Transformable2D a => V2 Double -> a -> a Source #
Scale by different amounts along the x and y axes
uScale2D :: Transformable2D a => Double -> a -> a Source #
Scale uniformally along both axes
translate2D :: Transformable2D a => V2 Double -> a -> a Source #
Translate by a distance in 2D space
mirror2D :: Transformable2D a => V2 Double -> a -> a Source #
Mirror in the line, which passes through the origin, tangent to the specified vector
Note that in order to maintain consistency with Transformable,
the mirror is in the line tangent to the vector, not in the line parallel to the vector