如何找到点3d数组的中心

本文关键字:数组 3d 何找 | 更新日期: 2023-09-27 18:32:11

我们有一个Point3D[] - 一个点云。我们想找到它的中心。怎么做这样的事情,这里的中心我们的意思是几何平均值?

如何找到点3d数组的中心

听起来你可以

使用:

new Point3D(points.Average(p => p.X),
            points.Average(p => p.Y),
            points.Average(p => p.Z));

人们可以想到许多不同的中心,你想要哪一个?

  1. 所有点的边界框的中心 - 您可以通过找到最小点和最大点来执行此操作,然后这些点是框的角。然后,此框的中心为(最小值 + 最大值)/2

  2. 所有点的质心与上面的中心不同。顺便说一句,这是上面Jon Skeet给出的解决方案。