Necesito un algoritmo matemático para hallar el ángulo formado por los tres puntos, que se abre hacia un cuarto de punto.
Por ejemplo, en Fig.1 de abajo te deseo ángulo de $\theta$ porque es "hacia" punto de $P$. Sin embargo, la fórmula para el ángulo entre dos vectores, $$\theta=\cos^{-1}\Big(\frac{\vec{u}\cdot\vec{v}}{uv}\Big)$$ gives angle $\alfa$ porque el anterior relación siempre devuelve el ángulo en el que está a menos de 180 grados.
En contraste, en la Fig2 deseo ángulo de $\alpha$ porque en este tiempo se está "frente a" punto de $P$.
Como un ejemplo final, en la Fig3 debajo necesito ángulo de $\theta$, debido a que es todavía técnicamente "frente a" punto de $P$.
Este problema puede producirse en cualquier orientación, lo que es difícil decir, por ejemplo, "Si el punto de $P$ está a la izquierda de los puntos de $A, B, C$, utilice el ángulo de la izquierda, de lo contrario usar la derecha" o algo así.
Cualquier ayuda se agradece!
Mi Intento De Solución
Si alguien está interesado, mi solución actual es la de dividir el ángulo que se enfrenta el punto de $P$ en la mitad y agregar los dos juntos.
En la Fig4 abajo, yo uso la línea gris para dividir el ángulo en la mitad, encontrar $s$ e $t$ utilizando el producto escalar, a continuación, agregue $s$ e $t$ para obtener el ángulo que enfrentan $P$.
Esto funciona hasta que llegue a una situación como la que en Fig5. Lo que necesito es $s+t$, pero lo que me pasa es $q+t$ debido a que el producto escalar de da $q$ (desde $s$ es mayor que $180$ grados).
Es un acertijo.