1 Answer | Add Yours
First, the question is a little ambiguous.
Picture the following in 2 dimensions:
<2,1>, <-2,1>, <-2,-1>, <2,-1>
All of these, in some sense, make the same angle to the x axis, and all make the same angle to the y-axis.
This is because the vectors <1,0> and <-1,0> both lie on the x-axis, but they point in opposite directions. The angle that <2,1> makes with <1,0> is different from the angle that <2,1> makes with <-1,0>.
So instead, let's make the question more precise by saying we want a vector that is 70 degrees from <0,1,0> (the positive y-axis), 20 degrees from <0,01> (the positive z-axis), and 90 degrees from <1,0,0>
Let's label the components, so the vector we want is: <a,b,c>
The vector is normal to the x axis. So:
`<a,b,c>*<1,0,0> =0` (that . is the dot product)
So a*1 + b*0 + c*0 = 0, so a=0
So our vector is: <0,b,c>
Now, `b!=0` ` ` If the vector had b=0, then it would be parallel to the z-axis. This is not the case, so b is nonzero. Since b is nonzero, we can say that b=1.
Why can we do this (just arbitrarily pick some value for b)?
This is because there is no information given about the length of the vector, only its angles. So we may scale the vector to however long we want, making that second component have absolute value 1.
To put it another way, suppose we had a vector that worked, <0,b,c>. Then the vector <0/b, b/b, c/b>=<0,1,c/b> would also work. Shortening the entire vector doesn't change the angles it makes with other vectors.
One caveat: we can't choose b to be anything. We can give it any length, but it must be positive, not negative. This is because our vector makes an angle of 70 degrees with <0,1,0>
If the angle with <0,1,0> is between 0 and 90 degrees, then b must be positive. If the angle with <0,1,0> is exactly 90 degrees, then b must be 0. If the angle with <0,1,0> is between 90 degrees and 180 degrees, then b must be negative.
SO, we have that <a,b,c>=<0,1,c>, and we just need to find c.
Now we use the formula:
Here X=<0,1,c>, Y=<0,1,0>
Now, by similar logic to what we did with b,
If the angle between our vector and <0,0,1> is between 0 and 90 degrees, then c must be positive. (If it is exactly 90, c must be 0, and if it is greater than 90, c must be negative).
Thus, we must have `c=2.747`
So our vector is `<0,1,2.747>`
PS: Just to mention again that this is not the only vector that works.
Because we don't care about length, only angles, we could take any multiple of this. So, for example, another vector that would work is: `<0,2,5.495>`
Or: `<0,.364,1>` (which is what you would get if you want to make sure that c=1, instead of b)
Scale this vector by any positive amount, and you will still have a vector with the angle relationships you want
We’ve answered 317,385 questions. We can answer yours, too.Ask a question