[Math] Calculating compass Direction of a 3D current vector

trigonometry

I have a set of current data that is given as a series of 3 dimensional vectors (X,Y,Z). With X being the East-West flow, Y being the North-South flow, and Z being the vertical flow.

In the past I have been able to ignore the z flow, so calculating the current speed and direction has been relatively easy.

Speed= sqrt(x^2 + y^2)
Direction= arctan(y/x)

So if

x= -0.017112
y= -0.17241

Then my Speed should be 0.173 and my Direction should be 84 degrees.

But now I need to add in the z axis, and I'm not sure how to do this.

Speed is easy- Speed= sqrt(x^2 + y^2 + z^2). But I'm not sure how to get the same kind of directional data.

So for instance, if

x= 0.29

y=-0.095

z=1.392

What would be my speed and direction?

Best Answer

If you are interested in compass heading, you can ignore $z$ as you have been doing. You could add in elevation if you want, using $\arctan \frac z{\sqrt{x^2+y^2}}$. There are other formats for three dimensional direction, like direction cosines. Your equation for speed is correct.

Related Question