3D Rotation Generator
RotMatrixGenerator3
example
julia> m = rand(3,3)
3×3 Matrix{Float64}: 0.294519 0.831364 0.276749 0.268923 0.200404 0.00559627 0.499669 0.873583 0.487837
julia> s = RotMatrixGenerator{3}(m - m')
3×3 RotMatrixGenerator3{Float64} with indices SOneTo(3)×SOneTo(3): 0.0 0.562441 -0.222919 -0.562441 0.0 -0.867987 0.222919 0.867987 0.0
julia> exp(s)
3×3 RotMatrix3{Float64} with indices SOneTo(3)×SOneTo(3): 0.833432 0.375174 -0.405754 -0.551275 0.5132 -0.657816 -0.0385623 0.771926 0.634541
RotationVecGenerator
example
julia> s = RotationVecGenerator(0.1,0.2,0.3)
3×3 RotationVecGenerator{Float64} with indices SOneTo(3)×SOneTo(3)(0.1, 0.2, 0.3): 0.0 -0.3 0.2 0.3 0.0 -0.1 -0.2 0.1 0.0
julia> exp(s)
3×3 RotationVec{Float64} with indices SOneTo(3)×SOneTo(3)(0.1, 0.2, 0.3): 0.935755 -0.283165 0.210192 0.302933 0.950581 -0.0680313 -0.18054 0.127335 0.97529
julia> log(exp(s))
3×3 RotationVecGenerator{Float64} with indices SOneTo(3)×SOneTo(3)(0.1, 0.2, 0.3): 0.0 -0.3 0.2 0.3 0.0 -0.1 -0.2 0.1 0.0
julia> rotation_angle(exp(s))
0.37416573867739417
julia> rotation_angle(exp(2s))
0.7483314773547883
julia> rotation_angle(exp(2s)) / rotation_angle(exp(s))
2.0