gpt4 book ai didi

c++ - 如何访问特征向量矩阵< float, 2, 1 >

转载 作者:搜寻专家 更新时间:2023-10-31 01:04:37 24 4
gpt4 key购买 nike

我正在遍历一个 vector ,它由 Vector 组成

Matrix<float, 2, 1>

for(auto it = uvVertices.begin(); it != uvVertices.end(); ++it) {
std::cout << *it;
}

这给出了这样的输出:有效

0.123120.212354

哪个是正确的,我怎样才能只访问第一个或第二个组件?这样我得到

0.12312

http://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.html这是一个引用,但我无法弄清楚。

最佳答案

如果我理解正确...您可以将迭代器取消引用到循环内的临时引用,以方便和访问内部系数,就像任何 Eigen 对象一样:

for(auto it = uvVertices.begin(); it != uvVertices.end(); ++it) {
Matrix<float, 2, 1>& v = *it;
//auto& v = *it; // should also work
std::cout << v(0,0);
std::cout << v(1,0);
}

你也可以使用 range-for:

for(auto& v  : uvVertices) {
std::cout << v(0,0);
std::cout << v(1,0);
}

我也会考虑使用 Eigen::Vector 类型作为 vector 。

关于c++ - 如何访问特征向量矩阵< float, 2, 1 >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23638085/

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