Data.Vect.Double.Util.Dim4
Description
Rotation around an arbitrary plane in four dimensions, and other miscellanea. Not very useful for most people, and not re-exported by Data.Vect.
Synopsis
 structVec4 :: [Double] -> [Vec4] destructVec4 :: [Vec4] -> [Double] translate4X :: Double -> Vec4 -> Vec4 translate4Y :: Double -> Vec4 -> Vec4 translate4Z :: Double -> Vec4 -> Vec4 translate4W :: Double -> Vec4 -> Vec4 vec4X :: Vec4 vec4Y :: Vec4 vec4Z :: Vec4 vec4W :: Vec4 biVector4 :: Vec4 -> Vec4 -> (Double, Double, Double, Double, Double, Double) biVector4AsTensor :: Vec4 -> Vec4 -> Mat4 rotate4' :: Double -> (Normal4, Normal4) -> Vec4 -> Vec4 rotate4 :: Double -> (Vec4, Vec4) -> Vec4 -> Vec4 rotMatrix4' :: Double -> (Normal4, Normal4) -> Mat4 rotMatrix4 :: Double -> (Vec4, Vec4) -> Mat4
Documentation
 structVec4 :: [Double] -> [Vec4] Source
 destructVec4 :: [Vec4] -> [Double] Source
 translate4X :: Double -> Vec4 -> Vec4 Source
 translate4Y :: Double -> Vec4 -> Vec4 Source
 translate4Z :: Double -> Vec4 -> Vec4 Source
 translate4W :: Double -> Vec4 -> Vec4 Source
 vec4X :: Vec4 Source
 vec4Y :: Vec4 Source
 vec4Z :: Vec4 Source
 vec4W :: Vec4 Source
 biVector4 :: Vec4 -> Vec4 -> (Double, Double, Double, Double, Double, Double) Source

If (x,y,u,v) is an orthonormal system, then (written in pseudo-code) biVector4 (x,y) = plusMinus (reverse \$ biVector4 (u,v)). This is a helper function for the 4 dimensional rotation code. If (x,y,z,p,q,r) = biVector4 a b, then the corresponding antisymmetric tensor is

[  0  r  q  p ]
[ -r  0  z -y ]
[ -q -z  0  x ]
[ -p  y -x  0 ]
 biVector4AsTensor :: Vec4 -> Vec4 -> Mat4 Source
the corresponding antisymmetric tensor
 rotate4' :: Double -> (Normal4, Normal4) -> Vec4 -> Vec4 Source
We assume that the axes are normalized and orthogonal to each other!
 rotate4 :: Double -> (Vec4, Vec4) -> Vec4 -> Vec4 Source
We assume only that the axes are independent vectors.
 rotMatrix4' :: Double -> (Normal4, Normal4) -> Mat4 Source
Rotation matrix around a plane specified by two normalized and orthogonal vectors. Intended for multiplication on the right!
 rotMatrix4 :: Double -> (Vec4, Vec4) -> Mat4 Source
We assume only that the axes are independent vectors.