【问题标题】:Calculate weighted mean point from array of 3D points从 3D 点数组计算加权平均点
【发布时间】:2012-10-31 13:17:41
【问题描述】:

我正在用 Cocoa 编写程序,但我认为解决方案必须非常通用。

我有一组由 3D 向量表示的点。每个点都有一个分配给它的权重。权重在 0 到 1 的范围内。所有权重的总和不等于 1。

应该如何从这样的集合中计算加权平均点?

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

【问题讨论】:

    标签: vector 3d point mean weighted


    【解决方案1】:

    简单地将所有按权重缩放的向量相加。最后,除以所有权重的总和。这与首先​​将所有权重归一化以总和为 1 具有相同的效果。

    伪代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多