Copyright | (c) Scott N. Walck 2012-2018 |
---|---|
License | BSD3 (see LICENSE) |
Maintainer | Scott N. Walck <walck@lvc.edu> |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell98 |
A module for working with coordinate systems.
- data CoordinateSystem = CoordinateSystem {
- toPosition :: (Double, Double, Double) -> Position
- fromPosition :: Position -> (Double, Double, Double)
- standardCartesian :: CoordinateSystem
- standardCylindrical :: CoordinateSystem
- standardSpherical :: CoordinateSystem
- newCoordinateSystem :: ((Double, Double, Double) -> (Double, Double, Double)) -> ((Double, Double, Double) -> (Double, Double, Double)) -> CoordinateSystem -> CoordinateSystem
Documentation
data CoordinateSystem Source #
Specification of a coordinate system requires a map from coordinates into space, and a map from space into coordinates.
CoordinateSystem | |
|
standardCartesian :: CoordinateSystem Source #
The standard Cartesian coordinate system
standardCylindrical :: CoordinateSystem Source #
The standard cylindrical coordinate system
standardSpherical :: CoordinateSystem Source #
The standard spherical coordinate system
:: ((Double, Double, Double) -> (Double, Double, Double)) | (x',y',z') = f(x,y,z) |
-> ((Double, Double, Double) -> (Double, Double, Double)) | (x,y,z) = g(x',y',z') |
-> CoordinateSystem | old coordinate system |
-> CoordinateSystem |
Define a new coordinate system in terms of an existing one. First parameter is a map from old coordinates to new coordinates. Second parameter is the inverse map from new coordinates to old coordinates.