gpt4 book ai didi

c++ - 将圆或样条拟合到一堆 3D 点中

转载 作者:太空狗 更新时间:2023-10-29 23:52:59 26 4
gpt4 key购买 nike

我有一些 3D 点,它们粗略但清楚地构成了圆的一部分。我现在必须确定最适合所有点的圆。我认为必须有某种最适合的最小二乘法,但我不知道如何开始。这些点按照它们在圆上的位置进行排序。我也有每个点的估计曲率。我需要圆的半径和平面。我必须使用 c/c++ 或使用外部脚本。

最佳答案

你可以使用 Principal Component Analysis (PCA) 将您的坐标从三个维度向下映射到两个维度。

计算 PCA 并将您的数据投影到第一个到主成分。然后,您可以使用任何 2D 算法找到圆心及其半径。一旦找到/安装好这些,您就可以将中心投影回 3D 坐标。

由于你的数据是嘈杂的,所以你挤出来的第三维还是会有一些数据,但是要记住PCA选择这个维度是为了最小化丢失的数据量,即通过最大化数据量这在前两个组件中表示,因此您应该是安全的。

关于c++ - 将圆或样条拟合到一堆 3D 点中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007286/

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