It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center
所以,我有一组位置向量(基本上是点)我怎样才能找到这些点的“重心”?把它们全部相加然后除以点数似乎行不通我正在使用java,但如果有任何帮助,我会非常感激,这不是一个特定于语言的问题。
编辑:好吧,听起来我还不够清楚每个点的权重都是一样的,我想找到这组点的中心。当我用手平均它们的时候,我得到了正确的答案,但是当我尝试用同样的方法在程序中做的时候,它给出的答案大约有10-20%太大了。我正在尝试一个群集算法。这是计算所有boid质心的位boidList是boid的数组列表,position是每个boid的向量场。我的向量类有加法和标量乘法的函数

c=new Vector(0,0);
for(Boid b: flock.boidList){
        c.x+=b.position.x;
    c.y+=b.position.y;

    }
c.x=c.x/flock.boidList.size();
c.y=c.y/flock.boidList.size();

最佳答案

据我所知,这就是你想要的http://en.wikipedia.org/wiki/Centroid#Of_a_finite_set_of_points平均分应该有用,你能解释一下它是怎么失败的吗?

10-06 03:13