eigen::vector2i
时间: 2024-02-28 22:50:04 浏览: 343
Eigen库是一个用于线性代数运算的C++库。在Eigen库中,`Vector2i`是一个固定大小的列向量,其中的元素类型为整型。可以通过传递两个整型参数来初始化`Vector2i`对象,这两个参数分别表示向量的两个元素的值。
以下是一个使用`Vector2i`的示例代码:
```cpp
#include <iostream>
#include <Eigen/Dense>
int main() {
Eigen::Vector2i v(1, 2);
std::cout << "Here is the vector v:\n" << v << std::endl;
return 0;
}
```
输出结果为:
```
Here is the vector v:
1
2
```
这段代码创建了一个`Vector2i`对象`v`,并将其初始化为包含元素`1`和`2`的列向量。然后,使用`std::cout`打印出向量`v`的值。
相关问题
Eigen::Vector3d d_vfb, d_vfn, d_vgn, gl, midvel, midpos; Eigen::Vector3d temp1, temp2, temp3; Eigen::Matrix3d cnn, I33 = Eigen::Matrix3d::Identity(); Eigen::Quaterniond qne, qee, qnn, qbb, q1, q2;
这段代码定义了一些向量和矩阵,以及四元数。具体解释如下:
- Eigen::Vector3d是Eigen库中的向量类型,表示三维向量。d_vfb、d_vfn、d_vgn、gl、midvel、midpos、temp1、temp2、temp3均为三维向量。
- Eigen::Matrix3d是Eigen库中的矩阵类型,表示3x3的矩阵。cnn和I33均为3x3的矩阵。
- Eigen::Quaterniond是Eigen库中的四元数类型,表示四元数。qne、qee、qnn、qbb、q1、q2均为四元数。
这段代码并没有对向量和矩阵进行初始化,因此它们的值是未知的。
Eigen::Vector3f p_0(2,3, 4); Eigen::Vector3f p_2; Eigen::Vector3f p_3; p_2 = tracking_frame.lidar2origin_trans * p_0; p_3 = tracking_frame.lidar2origin_trans.inverse() * p_2; for (int i = 0; i <3;i++) { std::cout<< p_2[i] << " "<< p_3[i]; }
这段代码使用了Eigen库中的Vector3f类来进行3D向量的计算。首先定义了一个名为p_0的Vector3f对象,表示一个三维向量(2,3,4)。接着又定义了两个空的Vector3f对象p_2和p_3。然后通过将p_0乘以一个变换矩阵tracking_frame.lidar2origin_trans来得到p_2,表示将p_0从lidar坐标系转换到origin坐标系。接着再将p_2乘以tracking_frame.lidar2origin_trans的逆矩阵来得到p_3,表示将p_2从origin坐标系转换回lidar坐标系。最后通过循环输出p_2和p_3的每一个元素。
阅读全文