如何在可变大小的向量上使用叉积

时间:2014-03-19 13:16:19

标签: c++ eigen

我正在使用Eigen::VectorXf,我想使用这两个向量的两个部分来计算交叉积。例如:

Eigen::VectorXf vect_1 (6), vect_2 (6), vect_3 (6);
// Put some values into the vectors
vect_3 = vect_1.cross(vect_2); // Doesn't work because vector size != 3
// Would work with Eigen::Vector3f

我想使用最后3个坐标计算叉积并将其存储到vect_3

的最后3个坐标中

类似的东西:

vect_3(size = 3, offset = 3) = ...

我该怎么做?

1 个答案:

答案 0 :(得分:1)

Eigen::Vector3f vect1,vect2;
vect1 = vect_1.segment(3,3);
vect2 = vect_2.segment(3,3);
vect_3.segment(3,3) = vect1.cross(vect2);