Java 如何找到一组向量的质心?
所以,我有一组位置向量(基本上是点)。如何找到这些点的“重心”?把它们加起来,然后除以点数,似乎是行不通的。我正在使用Java,但如果您能提供任何帮助,我们将不胜感激,这几乎不是一个语言特定的问题 编辑:好的,听起来我不够清楚。每个点的权重相同,我想找到这组点的中心。当我用手平均它们时,我得到了正确的答案,但是当我在程序中尝试用同样的方法时,它给出的答案大约有10-20%太大了。我正在尝试做一个植绒算法。这是计算所有Boid的质心的位。flock.boidlist是boid的数组列表,位置是每个boid的向量场。我的向量类有加法和标量乘法的函数Java 如何找到一组向量的质心?,java,algorithm,math,Java,Algorithm,Math,所以,我有一组位置向量(基本上是点)。如何找到这些点的“重心”?把它们加起来,然后除以点数,似乎是行不通的。我正在使用Java,但如果您能提供任何帮助,我们将不胜感激,这几乎不是一个语言特定的问题 编辑:好的,听起来我不够清楚。每个点的权重相同,我想找到这组点的中心。当我用手平均它们时,我得到了正确的答案,但是当我在程序中尝试用同样的方法时,它给出的答案大约有10-20%太大了。我正在尝试做一个植绒算法。这是计算所有Boid的质心的位。flock.boidlist是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();
据我所知,这就是你要找的。平均分数应该有效,你能解释一下它是怎么失败的吗?据我所知,这就是你要找的。平均分数应该有效,你能解释一下它是怎么失败的吗?定义“质心”——质心?这听起来像是一个数学问题,而不是Java问题。求和和和除法就是求点的平均值,这听起来像是质心的合理定义。有什么问题吗?如果你不准备解释它是如何不起作用的,千万不要说“不起作用”。它不是平均值,它是加权平均值,其中每个点的权重因子是它的相关质量。也许你没有将每个点乘以它的质量?@Oli质心没有合理或不合理的定义。它有定义。;-)对于质量相等的点质量集合,其位置的算术平均值确实等于质心。定义“质心”——质心?这听起来像是一个数学问题,而不是Java问题。求和和和除法就是求点的平均值,这听起来像是质心的合理定义。有什么问题吗?如果你不准备解释它是如何不起作用的,千万不要说“不起作用”。它不是平均值,它是加权平均值,其中每个点的权重因子是它的相关质量。也许你没有将每个点乘以它的质量?@Oli质心没有合理或不合理的定义。它有定义。;-)对于质量相等的点质量集合,其位置的算术平均值实际上等于质心。