Copyright | (c) Justus Sagemüller 2018 |
---|---|
License | GPL v3 |
Maintainer | (@) jsagemue $ uni-koeln.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Math.Rotations.Class
Description
Synopsis
- class Rotatable m where
- type AxisSpace m :: *
- rotateAbout :: AxisSpace m -> S¹ -> m -> m
- xAxis :: ℝP²
- yAxis :: ℝP²
- zAxis :: ℝP²
- (°) :: Rotatable m => ℝ -> AxisSpace m -> m -> m
- rotateViaEulerAnglesYZ :: (S¹ -> m -> m) -> (S¹ -> m -> m) -> ℝP² -> S¹ -> m -> m
- rotateℝ³AboutCenteredAxis :: ℝP² -> S¹ -> V3 ℝ -> V3 ℝ
- rotmatrixForAxis :: ℝP² -> S¹ -> [[ℝ]]
- eulerAnglesZYZForMatrix :: [[ℝ]] -> [ℝ]
- rotmatrixForEulerAnglesZYZ :: [ℝ] -> [[ℝ]]
Documentation
class Rotatable m where Source #
Methods
rotateAbout :: AxisSpace m -> S¹ -> m -> m Source #
(°) :: Rotatable m => ℝ -> AxisSpace m -> m -> m infix 5 Source #
Rotate by an angle specified in degrees.
Utility
rotateViaEulerAnglesYZ Source #
Arguments
:: (S¹ -> m -> m) | Y-axis rotation method |
-> (S¹ -> m -> m) | Z-axis rotation method |
-> ℝP² -> S¹ -> m -> m | Suitable definition for |
Internals
eulerAnglesZYZForMatrix :: [[ℝ]] -> [ℝ] Source #
rotmatrixForEulerAnglesZYZ :: [ℝ] -> [[ℝ]] Source #