gpt4 book ai didi

c++ - Eigen::Quaternionf,我如何访问这些值?

转载 作者:行者123 更新时间:2023-11-28 00:00:02 29 4
gpt4 key购买 nike

我正在尝试在现有项目中使用 Eigen,但卡住了。

我正在创建一个 quaternionf来自矩阵,像这样:

Eigen::Quaternionf quats(path.block(0, 0, 3, 3));

矩阵是有效的,这个构造应该有效。

当我尝试调用 x、y、z、w 值时,如下所示:

float test = quats.x();

它不会编译,给我:

use of undefined type 'Eigen::internal::quaternionbase_assign_impl<MatrixDerived,-1,-1>'

在:

\eigen\src\Geometry\Quaternion.h

我在这里错过了什么?

谢谢。

最佳答案

问题不在于 quats.x() 而在于初始化:

Eigen::Quaternionf quats(path.block(0, 0, 3, 3));

您必须在编译时告诉 Eigen 您正在传递一个 3x3 矩阵:

Eigen::Quaternionf quats(path.block<3,3>(0, 0));

甚至:

Eigen::Quaternionf quats(path.topLeftCorner<3,3>());

关于c++ - Eigen::Quaternionf,我如何访问这些值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839663/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com