特征二维叉积

问题描述 投票:0回答:1

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是对的,但它并没有真正定义。所以澄清一下:我正在寻找的是叉积的长度(基本上是向量之间角度的正弦,如果我理解正确的话)。

c++ vector geometry eigen eigen3
1个回答
0
投票

叉积的结果是向量,而不是浮点数。无论如何,二维叉积没有意义。在 2D 中,结果向量必须垂直于

a
b
并且它们已经定义了平面,因此结果必须在第三维中。

© www.soinside.com 2019 - 2024. All rights reserved.