gpt4 book ai didi

3d - 将 3D 点向量转换为 Eigen 中的齐次表示

转载 作者:行者123 更新时间:2023-12-04 20:11:58 25 4
gpt4 key购买 nike

我有一个包含 N 个 3D 点的缓冲区,存储为 [XYZXYZXYZ ... XYZ] .

这个缓冲区可以直接映射到Eigen::Matrix<float, 3, N>使用 Eigen::Map。
由于我将使用仿射变换(即 Eigen::Matrix4f 矩阵)来变换点,我想将相同的缓冲区映射到一个特征结构,该结构允许我将缓冲区视为 Eigen::Matrix<float, 4, N>最后一行仅包含 1 的矩阵,即每个点都由齐次向量 [X Y Z 1] 表示。

如果没有 ,是否有一种方便的方法可以做到这一点?复制原始缓冲区 在每个单点上应用变换 ?

最佳答案

您可以申请 homogenous()在每一列上是这样的:

Matrix4f mat = ...; // your affine transformation stored as a 4x4 matrix
float *data = ...; // your raw buffer storing 3D point as [XYZXYZXYZ...]
mat * Map<Matrix<float, 3, Dynamic> >(data,3,N).colwise().homogeneous()

关于3d - 将 3D 点向量转换为 Eigen 中的齐次表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16280218/

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