With fixed unit $\vec v_1$and unit $\vec v_2$, with vectors rooted at a common origin,and $\vec v_2$ allowed to range in a single plane, is there a function that generates angles, using only $\vec v_1$ and $\vec v_2$ in the range $[0^o, 360^o)$?
The solutions I have found on stack exchange include:
$\theta = cos^{-1} \frac{(\vec v_1 \cdot \vec v_2)}{\Vert \vec v_1 \Vert \times \Vert \vec v_2 \Vert}$
How to calculate the angle between 2 vectors in 3D space given a preset function
and $\theta = atan2((\vec v_1 \times \vec v_2 \cdot \vec v_n, \vec v_1 \cdot \vec v_2)$
(How to find an angle in range(0, 360) between 2 vectors?)
The formula $\theta = cos^{-1} \frac{(\vec v_1 \cdot \vec v_2)}{\Vert \vec v_1 \Vert \times \Vert \vec v_2 \Vert}$ yields:
$\theta ∈ [0^o, 180^o),$not the desired range $[0^o, 360^o)$
The alternate formula: $\theta = atan2((\vec v_1 \times \vec v_2 \cdot \vec v_n, \vec v_1 \cdot \vec v_2);$
$\vec v_n = \vec v_1 \times \vec v_2,$
with exceptions for co-linear.
What appears to happen is that when $\theta > 180^o, \vec v_n$ flips sign:
Given: $\vec v_1 = \{0, 1, 0\};$ $\vec v_2 = \{-1, 1, 0\}:$ $\vec v_n = \vec v_1 \times \vec v_2, = \{0,0,1\}.$
$\theta = 45^o;$ expected.
Given: $\vec v_1 = \{0, 1, 0\};$ $\vec v_2 = \{1, -1, 0\}:$ $\vec v_n = \vec v_1 \times \vec v_2, = \{0,0,-1\}.$
$\theta = 135^o;$ expected $225^o.$
The one solution I have seen is to pre-identify $\vec v_n$. It is undesirable.
The goal is not to identify what is clockwise, but simply to have a consistent $[0^o, 360^o)$ mechanism given two unit vectors with common origin in a single plane with $\vec v_n$ derived from fixed unit $\vec v_1$ and varying unit $\vec v_2$, in a single plane.
(converted to MathJax per request, first attempt, hope it looks OK).
Thanks for any and all insights!