Safe Haskell | None |
---|
- type Vec3D = Vector3
- unpackVec3D :: Vec3D -> (Double, Double, Double)
- vnormalise :: Vec3D -> Vec3D
- vdot :: Vec3D -> Vec3D -> Double
- (*|) :: Double -> Vec3D -> Vec3D
- (|*) :: Vec3D -> Double -> Vec3D
- vzip :: (Double -> Double -> Double) -> Vec3D -> Vec3D -> Vec3D
- vmap :: (Double -> Double) -> Vec3D -> Vec3D
- vnorm :: Vec3D -> Double
- vproj :: Vector3 -> Vector3 -> Vec3D
- vperpend :: Vec3D -> Vector3 -> Vec3D
- vperpends :: Vec3D -> [Vector3] -> Vec3D
- vdihedral :: Vec3D -> Vec3D -> Vec3D -> Double
Documentation
This module wraps 3D vector operations, and adds missing ones. Also hides a Vector class
Defines type alias for position and translation vectors in PDB structures.
unpackVec3D :: Vec3D -> (Double, Double, Double)Source
Unpacks an abstract 3D vector into a triple of Doubles.
vnormalise :: Vec3D -> Vec3DSource
Normalises to a unit vector in the same direction as input.
(*|) :: Double -> Vec3D -> Vec3DSource
Scalar product. (*
indicates side on which one can put a scalar.)
(|*) :: Vec3D -> Double -> Vec3DSource
Scalar product. (*
indicates side on which one can put a scalar.)
vzip :: (Double -> Double -> Double) -> Vec3D -> Vec3D -> Vec3DSource
Maps an operation on a pair of Doubles onto a pair of 3D vectors coordinatewise.
vmap :: (Double -> Double) -> Vec3D -> Vec3DSource
Maps an operation that modifies a Double onto a 3D vector.
vproj :: Vector3 -> Vector3 -> Vec3DSource
Finds a vector component of the first vector that is a projection onto direction of second vector.
vperpend :: Vec3D -> Vector3 -> Vec3DSource
Returns a component of the vector v that is perpendicular to w.