Copyright | (c) Antony Courtney and Henrik Nilsson Yale University 2003 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | ivan.perez@keera.co.uk |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe |
Language | Haskell98 |
Data.Vector3
Description
3D vector abstraction (R^3).
Synopsis
- data Vector3 a
- vector3 :: RealFloat a => a -> a -> a -> Vector3 a
- vector3X :: RealFloat a => Vector3 a -> a
- vector3Y :: RealFloat a => Vector3 a -> a
- vector3Z :: RealFloat a => Vector3 a -> a
- vector3XYZ :: RealFloat a => Vector3 a -> (a, a, a)
- vector3Spherical :: RealFloat a => a -> a -> a -> Vector3 a
- vector3Rho :: RealFloat a => Vector3 a -> a
- vector3Theta :: RealFloat a => Vector3 a -> a
- vector3Phi :: RealFloat a => Vector3 a -> a
- vector3RhoThetaPhi :: RealFloat a => Vector3 a -> (a, a, a)
- vector3Rotate :: RealFloat a => a -> a -> Vector3 a -> Vector3 a
Documentation
3D Vector.
Instances
Eq a => Eq (Vector3 a) # | |
Show a => Show (Vector3 a) # | |
NFData a => NFData (Vector3 a) # | |
Defined in Data.Vector3 | |
RealFloat a => VectorSpace (Vector3 a) a # | |
RealFloat a => AffineSpace (Point3 a) (Vector3 a) a # | |
vector3 :: RealFloat a => a -> a -> a -> Vector3 a #
Creates a 3D vector from the cartesian coordinates.
vector3XYZ :: RealFloat a => Vector3 a -> (a, a, a) #
Returns a vector's cartesian coordinates.
vector3Spherical :: RealFloat a => a -> a -> a -> Vector3 a #
Creates a 3D vector from the spherical coordinates.
vector3Rho :: RealFloat a => Vector3 a -> a #
Calculates the vector's radial distance.
vector3Theta :: RealFloat a => Vector3 a -> a #
Calculates the vector's azimuth.
vector3Phi :: RealFloat a => Vector3 a -> a #
Calculates the vector's inclination.
vector3RhoThetaPhi :: RealFloat a => Vector3 a -> (a, a, a) #
Spherical coordinate representation of a 3D vector.
vector3Rotate :: RealFloat a => a -> a -> Vector3 a -> Vector3 a #
Rotates a vector with a given polar and azimuthal angles.