Finding the a vector using angles

1. Dec 21, 2011

exmachina

I have three non-parallel vectors (whose components are known), v0, v1, v2 and I'd like to find a fourth unit vector, v3, given only the angles between:

psi, angle between v0 and v3
theta, angle between v1 and v3
phi, angle between v2 and v3

I know that they are related by the dot product:

v0 . v3 = |v0||v3| cos(psi)
v1 . v3 = |v1||v3| cos(theta)
v2 . v3 = |v2||v3| cos(phi)

this give me a system of equations to solve,

however, I have a term on the right side |v3|, expands into sqrt(a^2+b^2+c^2) - so its not quite linear.

If I have the constraint that I want to find a UNIT vector v3, ie. |v3|=1, then can i just set sqrt(a^2+b^2+c^2)=1, to make it a linear system?

Also - is there an easier way to solve this?

Last edited: Dec 21, 2011
2. Dec 22, 2011

exmachina

I guess the equivalent problem would be to solve the following system of equations:

ax+by+cz=d*sqrt(x^2+y^2+z^2);
ex+fy+gz=h*sqrt(x^2+y^2+z^2);
ix+jy+kz=l*sqrt(x^2+y^2+z^2);

a,b,c,d,e,f,g,h,i,j,k,l constants
solve for x,y,z

3. Dec 22, 2011

chiro

Hey exmachina.

One thing you may have overlooked: v3 is a unit vector. What does this do to your sqrt(x^2 + y^2 + z^2) term?

4. Dec 23, 2011

exmachina

yes I realize that its equal to 1. But when I tried solving some examples setting sqrt(x^2 + y^2 + z^2)=1, the resulting values I get actually wasn't 1.