tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
Namespaces | Functions
skew_symmetric.h File Reference

Skew-symmetric matrix construction and Rodrigues rotation formula. More...

#include "config.h"
#include "fused/fused_matrix.h"
#include "fused/fused_vector.h"
#include "math/math_utils.h"
#include "algorithms/operations/norms.h"
Include dependency graph for skew_symmetric.h:

Go to the source code of this file.

Namespaces

namespace  matrix_algorithms
 

Functions

template<typename T >
FusedMatrix< T, 3, 3 > matrix_algorithms::skew_symmetric (const FusedVector< T, 3 > &v)
 Construct the 3×3 skew-symmetric matrix [v]× from a 3-vector.
 
template<typename T >
FusedMatrix< T, 3, 3 > matrix_algorithms::rodrigues (const FusedVector< T, 3 > &omega, T t=T(1))
 Compute the rotation matrix R = exp(t · [ω]×) via Rodrigues formula.
 

Detailed Description

Skew-symmetric matrix construction and Rodrigues rotation formula.

Provides:


SKEW-SYMMETRIC (5a)

Given ω = [ω₁, ω₂, ω₃], the skew-symmetric matrix is:

[ω]× = [ 0 -ω₃ ω₂ ] [ ω₃ 0 -ω₁ ] [ -ω₂ ω₁ 0 ]

Key property: [ω]× · v = ω × v (cross product).


RODRIGUES FORMULA (5b)

Given an angular velocity vector ω and time step t, the rotation matrix is:

R = exp(t · [ω]×) = I + sin(θ)/θ · [ω]× + (1 − cos(θ))/θ² · [ω]ײ

where θ = t · ‖ω‖ is the rotation angle.

Special cases:

Properties of the result:

Complexity: O(1) — fixed 3×3 operations, no loops.