
import Data.Vect.Double
import Data.Vect.Double.Util.Dim3
import Data.Vect.Double.Util.Quaternion

axis  = Vec3 1 2 3
angl = pi/5

axis2  = Vec3 5 (-4) 1.77
angl2 = -pi/7

v = Vec3 (-9) 4 (-7)

x1 = rotU axis angl *. v   
x2 = v .* rotMatrix3 axis angl

m1r = fromOrtho $ rightOrthoU $ rotU axis angl
m1l = fromOrtho $ leftOrthoU $ rotU axis angl
m2 = rotMatrix3 axis angl

v' = x1
y1 = v' .* m1r
y2 = m1l *. v'
y3 = v'  .* m2 

z1 =  rotU axis2 angl2 *. rotU axis angl *. v
z2 = (rotU axis2 angl2 .*. rotU axis angl) *. v
z3 = v .* rotMatrix3 axis angl .* rotMatrix3 axis2 angl2
z4 = v .* (rotMatrix3 axis angl .*.  rotMatrix3 axis2 angl2)

