特征2D外积

Eigen 2D cross product

本文关键字:外积 2D 特征      更新时间:2023-10-16

Eigen能做2D叉乘吗?

我试图替换这个代码:

Eigen::Vector2f a, b;
float result = a.x()*b.y() - b.x()*a.y();
与这个:

Eigen::Vector2f a, b;
float result = a.cross(b);
然而,这给了我以下错误:

error C2338: THIS_METHOD_IS_ONLY_FOR_VECTORS_OF_A_SPECIFIC_SIZE

当然Avi Ginsburg是对的,它并没有真正定义。所以澄清一下:我要找的是外积的长度(基本上是向量之间夹角的正弦,如果我理解正确的话)。

叉乘的结果是一个向量,而不是浮点数。无论如何,2D中的叉乘没有意义。在二维中,结果向量必须垂直于ab,它们已经定义了平面,所以结果必须在三维中。