Îõ³h&x¹Ù      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX Safe-Inferred5689:;Ò  SpatialMath#3-2-1 Euler angle rotation sequence  Safe-InferredÜ SpatialMath9doesn't require RealFloat, used for overloading symbolics SpatialMath Rotate a vector about the X axis)trunc $ rotateXyzAboutX (V3 0 1 0) (pi/2)V3 0.0 0.0 1.0)trunc $ rotateXyzAboutX (V3 0 0 1) (pi/2)V3 0.0 (-1.0) 0.0 SpatialMath Rotate a vector about the Y axis)trunc $ rotateXyzAboutY (V3 0 0 1) (pi/2)V3 1.0 0.0 0.0)trunc $ rotateXyzAboutY (V3 1 0 0) (pi/2)V3 0.0 0.0 (-1.0) SpatialMath Rotate a vector about the Z axis)trunc $ rotateXyzAboutZ (V3 1 0 0) (pi/2)V3 0.0 1.0 0.0)trunc $ rotateXyzAboutZ (V3 0 1 0) (pi/2)V3 (-1.0) 0.0 0.0 SpatialMath"Convert quaternion to Euler angles0euler321OfQuat (Quaternion 1.0 (V3 0.0 0.0 0.0)).Euler {eYaw = 0.0, ePitch = -0.0, eRoll = 0.0}Àeuler321OfQuat (Quaternion (sqrt(2)/2) (V3 (sqrt(2)/2) 0.0 0.0))=Euler {eYaw = 0.0, ePitch = -0.0, eRoll = 1.5707963267948966}Àeuler321OfQuat (Quaternion (sqrt(2)/2) (V3 0.0 (sqrt(2)/2) 0.0))vec_b = q_a2b * vec_a * q_a2b^(-1) vec_b = R(q_a2b) * vec_a  !"#$%  !"#$% Safe-Inferred 89:;ÁÃÄÅÇч  (-)*+,./0123456(-)*+,/01234 .56Ù         !"#$%&'()*+,-./012345667889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]Þ*SpatialMath-0.2.7.1-FJ8akJ7FKV75UBVB9UHiZk SpatialMath SpatialMathTTypes"linear-1.22-1g9bkrZLtgG1Kif13VBuPE Linear.MatrixM33Linear.Quaternion Quaternion Linear.V3V3_xyz_zR3 Linear.V2_xy_yR2 Linear.V1_xR1EulereYawePitcheRollArcTan2arctan2rotateXyzAboutXrotateXyzAboutYrotateXyzAboutZeuler321OfQuat quatOfDcm quatOfDcmB2A euler321OfDcmunsafeEuler321OfDcmquatOfEuler321 dcmOfQuat dcmOfEuler321 dcmOfQuatB2A rotVecByDcmrotVecByDcmB2A rotVecByQuatrotVecByQuatB2A rotVecByEulerrotVecByEulerB2A$fArcTan2Float$fArcTan2DoubleRotationcomposerotrot'toDcm transposeM33TRotunRV3TunVcrossorthonormalize$fR3V3T$fR2V3T$fR1V3T $fRotationV3a$fRotationQuaterniona $fFunctorRot $fFoldableRot$fTraversableRot $fStorableRot$fNumRot$fFractionalRot$fEqRot $fShowRot$fOrdRot$fGeneric1TYPERot $fGenericRot$fSerializeRot $fBinaryRot $fFunctorV3T $fFoldableV3T$fTraversableV3T$fApplicativeV3T $fAdditiveV3T $fMetricV3T $fStorableV3T$fNumV3T$fFractionalV3T$fEqV3T $fShowV3T$fOrdV3T$fGeneric1TYPEV3T $fGenericV3T$fSerializeV3T $fBinaryV3T