是否有一种公式可以平均所有x,y坐标并找到它们的中心位置。
我有100x100个正方形,在里面有大量的1x1红色和黑色点,我想确定哪个红点在中间。
我研究了最佳拟合线公式,但我不确定这是否是我需要的。
有时所有的红色点都会在一边或另一边。我想要基本上画一条线然后找到该线的中心点,或者仅仅找到红色正方形的中心点,基于100x100的网格。
是否有一种公式可以平均所有x,y坐标并找到它们的中心位置。
我有100x100个正方形,在里面有大量的1x1红色和黑色点,我想确定哪个红点在中间。
我研究了最佳拟合线公式,但我不确定这是否是我需要的。
有时所有的红色点都会在一边或另一边。我想要基本上画一条线然后找到该线的中心点,或者仅仅找到红色正方形的中心点,基于100x100的网格。
List<Point> dots = new List<Point>();
int totalX = 0, totalY = 0;
foreach (Point p in dots)
{
totalX += p.X;
totalY += p.Y;
}
int centerX = totalX / dots.Count;
int centerY = totalY / dots.Count;
new Point(points.Average(p => p.X), points.Average(p => p.Y));
。 这里假设 points
是一个 Point
对象的列表,且每个 Point
都有 X
和 Y
属性。如果你有一个int数组的数组,则代码应为:var X = points.Average(p => p[0]); var Y = points.Average(p => p[1]);
。 - Bobson如果有两个或更多的红点子集怎么办?您想让黑点在其中吗?
否则,如果我理解您的问题,只需将红点权重设为1,黑点权重设为0。然后对X和Y坐标进行加权平均。