Vector 从三维点阵列计算加权平均点

Vector 从三维点阵列计算加权平均点,vector,3d,point,mean,weighted,Vector,3d,Point,Mean,Weighted,我正在用Cocoa编写程序,但我认为解决方案必须是非常普遍的 我有一组由3D向量表示的点。每个点都指定了一个权重。权重在0到1的范围内。所有权重之和不等于1 如何从该集合计算加权平均点 编程或纯数学解决方案都会有帮助。 当然,如果Cocoa有一些特定的工具来解决这项任务,我将非常感谢这些信息。只需将所有向量按其权重进行求和即可。最后,除以所有权重之和。这与首先将所有权重规格化为总和为1的效果相同 伪代码: sum = [0, 0, 0] totalWeights = 0 for each poi

我正在用Cocoa编写程序,但我认为解决方案必须是非常普遍的

我有一组由3D向量表示的点。每个点都指定了一个权重。权重在0到1的范围内。所有权重之和不等于1

如何从该集合计算加权平均点

编程或纯数学解决方案都会有帮助。
当然,如果Cocoa有一些特定的工具来解决这项任务,我将非常感谢这些信息。

只需将所有向量按其权重进行求和即可。最后,除以所有权重之和。这与首先将所有权重规格化为总和为1的效果相同

伪代码:

sum = [0, 0, 0]
totalWeights = 0
for each point p with associated weight w:
    sum += p * w
    totalWeights += w
mean = sum / totalWeights