Originally posted by: eLiu
Form the vector that connects the two (i.e. make a triangle). Use whatever trig relations you like (law of cosines/sines, for example). Law of cosines or law of sines are pretty easy to prove; see wiki for details.
In that case, you can just compute the angles by converting the vector components to spherical coordinates, then taking the difference (i.e. calculate theta_1 and phi_1 for vector 1, then theta_2 and phi_2 for vector 2, then compute theta*=theta_1-theta_2, phi*=phi_1-phi_2).Originally posted by: TecHNooB
Originally posted by: eLiu
Form the vector that connects the two (i.e. make a triangle). Use whatever trig relations you like (law of cosines/sines, for example). Law of cosines or law of sines are pretty easy to prove; see wiki for details.
I tried this and got stuck. Ideally, I want to relate the angles. I want to describe the angle between 2 vectors in terms of phi and theta used in spherical coordinates.
Originally posted by: CycloWizard
In that case, you can just compute the angles by converting the vector components to spherical coordinates, then taking the difference (i.e. calculate theta_1 and phi_1 for vector 1, then theta_2 and phi_2 for vector 2, then compute theta*=theta_1-theta_2, phi*=phi_1-phi_2).Originally posted by: TecHNooB
Originally posted by: eLiu
Form the vector that connects the two (i.e. make a triangle). Use whatever trig relations you like (law of cosines/sines, for example). Law of cosines or law of sines are pretty easy to prove; see wiki for details.
I tried this and got stuck. Ideally, I want to relate the angles. I want to describe the angle between 2 vectors in terms of phi and theta used in spherical coordinates.
Originally posted by: TecHNooB
Originally posted by: eLiu
Form the vector that connects the two (i.e. make a triangle). Use whatever trig relations you like (law of cosines/sines, for example). Law of cosines or law of sines are pretty easy to prove; see wiki for details.
I tried this and got stuck. Ideally, I want to relate the angles. I want to describe the angle between 2 vectors in terms of phi and theta used in spherical coordinates.
Originally posted by: eLiu
Originally posted by: TecHNooB
Originally posted by: eLiu
Form the vector that connects the two (i.e. make a triangle). Use whatever trig relations you like (law of cosines/sines, for example). Law of cosines or law of sines are pretty easy to prove; see wiki for details.
I tried this and got stuck. Ideally, I want to relate the angles. I want to describe the angle between 2 vectors in terms of phi and theta used in spherical coordinates.
To relate the angles, I'm 99% sure you'll end up having to just convert them to cartesian coordinates. Sphereical coords really are not built for planar geometry (which is probably the most direct way of solving your problem--treat it as a triangle in a plane).
(Note that you could also treat it as a plane in polar coordinates, but you'd have to perform coordinate rotations to do that... which involve dot products. The difficulty here is that it's difficult to work in arbitrary coordinates; you're much better off rotating into a simpler coordinate system.)
Edit: can I ask why you want to avoid the dot product? Dot products just embody the operation of taking two lines, making one of them the hypotenuse of a right triangle, and using trigonometry.