2012-10-31 3 views
0

나는 코코아로 프로그램을 작성하고 있지만 솔루션은 꽤 보편적이어야한다고 생각합니다.3D 점 배열에서 가중 평균 포인트 계산

3D 벡터로 표시되는 점 집합이 있습니다. 각 포인트에는 할당 된 가중치가 있습니다. 가중치는 0에서 1 사이입니다. 모든 가중치의 합은 1과 같지 않습니다.

이러한 세트에서 가중 평균 포인트를 계산하는 방법은 무엇입니까?

프로그래밍 방식 또는 순수 수학 솔루션이 도움이됩니다. 물론 코코아가이 작업을 해결할 수있는 몇 가지 도구가 있다면이 정보를 매우 감사하겠습니다.

답변

2

모든 벡터를 가중치에 따라 간단히 합치십시오. 마지막으로 모든 가중치의 합계로 나눕니다.

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

의사 코드로 요약 모든 가중치 먼저 정규화하는 것과 같은 효과를 갖는다