spatial-math 0.1.2 → 0.1.3
raw patch · 2 files changed
+13/−1 lines, 2 files
Files
- SpatialMath.hs +12/−0
- spatial-math.cabal +1/−1
SpatialMath.hs view
@@ -13,12 +13,15 @@ , quatOfEuler321 , dcmOfQuat , dcmOfQuatB2A+ , dcmOfEuler321 , quatOfDcm , quatOfDcmB2A , rotVecByDcm , rotVecByDcmB2A , rotVecByQuat , rotVecByQuatB2A+ , rotVecByEuler+ , rotVecByEulerB2A ) where import qualified Xyz@@ -128,6 +131,9 @@ r5 = 2*(q2*q3 + q0*q1) r8 = q0*q0 - q1*q1 - q2*q2 + q3*q3 +dcmOfEuler321 :: (Floating a, Element a, Ord a) => Euler a -> Matrix a+dcmOfEuler321 = dcmOfQuat . quatOfEuler321+ dcmOfQuatB2A :: (Num a, Element a) => Quat a -> Matrix a dcmOfQuatB2A = dcmOfQuat . Quat.inv @@ -146,6 +152,12 @@ rotVecByQuatB2A :: (Num a, Element a) => Quat a -> Xyz a -> Xyz a rotVecByQuatB2A q = rotVecByDcmB2A (dcmOfQuat q)++rotVecByEuler :: (Floating a, Element a, Ord a) => Euler a -> Xyz a -> Xyz a+rotVecByEuler = rotVecByDcm . dcmOfEuler321++rotVecByEulerB2A :: (Floating a, Element a, Ord a) => Euler a -> Xyz a -> Xyz a+rotVecByEulerB2A = rotVecByDcmB2A . dcmOfEuler321 -- void -- get_wind_angles_from_v_bw_b(double * alpha, double * beta, double * airspeed, const xyz_t * const v_bw_b)
spatial-math.cabal view
@@ -1,5 +1,5 @@ name: spatial-math-version: 0.1.2+version: 0.1.3 synopsis: 3d math including quaternions/euler angles/dcms and utility functions description: This is a port of my 'mathlib' C library: https://github.com/ghorn/mathlib license: BSD3