使用 PCA 查找网格的 3d 点云的主轴
using PCA to find the major axis of a 3d pointcloud of a mesh
您好,我正在尝试通过 python 中的 3d 网格计算主轴的矢量(使用 open3d 库与网格交互)。
我已经使用泊松分布(numpy 数组中的 1000 个点)将网格变成点云,并考虑使用 scikit learn 及其 PCA 功能来尝试获取此向量的值。
通过谷歌搜索,我认为我在正确的道路上,但对如何使用 PCA 函数来获得我想要的东西知之甚少。
我想我需要从点云及其伴随的特征向量中提取最大的特征值——这应该是我正在寻找的。
不知道如何做,因为我完全不熟悉 scikit learn。
有什么帮助吗?
已找到使用 trimesh 库的解决方案:
使用principal_inertia_vectors函数求出3个最大的特征值和对应的特征向量。特征向量对应于网格的 3 个轴。
此函数直接从网格运行,因此不需要转换为点云。
您好,我正在尝试通过 python 中的 3d 网格计算主轴的矢量(使用 open3d 库与网格交互)。 我已经使用泊松分布(numpy 数组中的 1000 个点)将网格变成点云,并考虑使用 scikit learn 及其 PCA 功能来尝试获取此向量的值。
通过谷歌搜索,我认为我在正确的道路上,但对如何使用 PCA 函数来获得我想要的东西知之甚少。
我想我需要从点云及其伴随的特征向量中提取最大的特征值——这应该是我正在寻找的。
不知道如何做,因为我完全不熟悉 scikit learn。 有什么帮助吗?
已找到使用 trimesh 库的解决方案:
使用principal_inertia_vectors函数求出3个最大的特征值和对应的特征向量。特征向量对应于网格的 3 个轴。
此函数直接从网格运行,因此不需要转换为点云。