2012-10-31 37 views
0

我在Cocoa編寫程序,但我認爲解決方案必須相當通用。從3D點數組計算加權平均點

我有一組由3D向量表示的點。每個點都有一個權重分配給它。權重範圍從0到1.所有權重的總和不等於1.

應該如何從這樣的集合中計算加權平均點?

編程或純數學解決方案將有所幫助。 當然,如果可可有一些特定的工具來解決這個任務,我非常感謝這些信息。

回答

2

簡單地將所有矢量按照其權重縮放。最後,除以所有權重的總和。這與第一正火同樣的效果所有的權重總和爲1

僞代碼:

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