Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 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