找到坐标2d数组的中心点c#

时间:2012-10-11 13:36:59

标签: c# algorithm math center

是否有一个公式来平均所有x,y坐标并找到它们死点的位置。

我有100x100的正方形,里面是1x1红色和黑色点的大块,我想确定一个位于中间的红点。

我研究了最合适的公式,但我不确定这是否是我需要的。

有时所有红色都在一侧或另一侧。我想基本上绘制一条线然后找到该线的中心点,或者只找到红色方块的中心点。基于100x100网格。

3 个答案:

答案 0 :(得分:14)

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;

答案 1 :(得分:8)

只需分别平均x坐标和y坐标,结果就是“中心”的坐标。

答案 2 :(得分:0)

如果有两个或更多红点子集怎么办?你想要它们里面的黑点吗?

其他人,如果我理解你的问题,只需给红色1加1,黑色加0。然后在X和Y坐标上进行加权平均