Mean direction of vectors

3dgeometryvector-spacesvectors

I have 80 vectors with each having x, y, z coordinates. I want to find the average direction using these 80 vectors. I call this 'average direction vector'. I have tried the following things but I am slightly confused as to which method is right or both methods are incorrect:

  1. Take the mean of X, Y, Z values of all 80 points combined, i.e. X_mean=(x1 + x2 + ...)/80 and so on… Then get X_mean*i_cap + Y_mean*j_cap + Z_mean*k_cap. Then normalize this vector by dividing each of the components by sqrt(X_mean**2 + Y_mean**2 + Z_mean**2).

  2. Contrary to Method-1, in this, I first find the unit direction vector of each of those 80 vectors thus resulting in 80 unit direction vectors. Then I take the mean of x, y, z components of these unit direction vectors to get the aforementioned 'average direction vector'.

I am not sure if the logic is correct or not and would like some help regarding the same.

In a broader spectrum, how do we find the average direction of 'N' vectors having x, y, z components?

Thank You.

Best Answer

If you consider vectors $x_1,...,x_{80}\in\mathbb{R}^3\backslash\{0\}$, you consider the following two average vectors which are not necessarily equal:$$\frac{1}{80}\sum_{j=1}^{80}\frac{x_j}{||x_j||}\neq \frac{\frac{1}{80}\sum_{j=1}^{80}x_j}{||\frac{1}{80}\sum_{j=1}^{80}x_j||}$$ and the second might not even exist since it is very well possible that $\frac{1}{80}\sum_{j=1}^{80}x_j=0$. The first expression ( and thus Your second method) is certainly what You are looking for.

Related Question