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

How do I use cross product on variable sized vectors

本文关键字:向量      更新时间:2023-10-16

我用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) = ...

我该怎么做?

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