signed angle between two 3d vectors with same origin within the same plane? recipe?
- by Advanced Customer
Was looking through the web for an answer but it seems like there is no clear recipe for it.
What I need is a signed angle of rotation between two vectors Va and Vb lying within the same 3D plane and having the same origin knowing that:
the plane contatining both vectors is an arbitrary and is not parallel to XY or any other of cardinal planes
Vn - is a plane normal
both vectors along with the normal have the same origin O = { 0, 0, 0 }
Va - is a reference for measuring the left handed rotation at Vn
The angle should be measured in such a way so if the plane would be XY plane the Va would stand for X axis unit vector of it.
I guess I should perform a kind of coordinate space transformation by using the Va as the X-axis and the cross product of Vb and Vn as the Y-axis and then just using some 2d method like with atan2() or something. Any ideas? Formulas?