簡體   English   中英

Eigen :: Quaternionf,如何訪問這些值?

[英]Eigen::Quaternionf, how can I access the values?

我試圖在現有項目中使用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>());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM