2014-10-01 19 views
10

Esiste una funzione o un metodo pronto in Eigen per Hat operator? Questo è l'operatore, che restituisce una matrice, che imita un prodotto incrociato con quel vettore. Lo so, che può essere facilmente scritto, ma vorrei evitarlo:Matrice cross-product in Eigen

Eigen::Vector3d t = // some vector ; 
Eigen::Matrix3d t_hat; 
t_hat << 0, -t(2), t(1), 
    t(2), 0, -t(0), 
    -t(1), t(0), 0; 
+0

Tale matrice viene in genere chiamata _antisymmetric_ o _skew-symmetric_ matrix. – user2658323

risposta

3

Come annotato sia cross ei metodi cross3 realmente eseguire la moltiplicazione. Ma si desidera rendere la rappresentazione skew-symmetric matrix di t.

Quello che hai sembra il meglio che puoi fare per Vector3d e Matrix3d. Generalizzare per vari tipi di t richiederà più tempo di quello che ho adesso, ma è una domanda interessante, quindi potrei indagare più tardi.

Problemi correlati