I have a polygon like this:

I basically want to find the angles $\alpha$, inside the polygon, between the vectors. I'm using the determinant to calculate the angle alpha:
$det(\vec V2, \vec V2 ) = ||V2|| * ||V1|| * \sin \theta $
So $\theta$ will be the arcsin. But my problem is that in this particular case, the angle that is calculated is not $\alpha$ but it's 180- $\alpha$ and I don't understand why.
This is my code in C:
TSMV_Point2D vecteur1, vecteur2;
vecteur1.x = p1.x - pC.x;
vecteur1.y = p1.y - pC.y;
vecteur2.x = p2.x - pC.x;
vecteur2.y = p2.y - pC.y;
float determinant = vecteur2.x * vecteur1.y - (vecteur1.x * vecteur2.y);
float normeVec1 = sqrt(vecteur1.x * vecteur1.x + vecteur1.y * vecteur1.y);
float normeVec2 = sqrt(vecteur2.x * vecteur2.x + vecteur2.y * vecteur2.y);
float division = determinant / (normeVec1 * normeVec2);
float angle = asin(division) * 180 / M_PI;
Can someone help me understand?
Because the formula you have is not correct. The dot product of two vectors equals the product of the norms of the vectors times cosine of the angle.
$$\mathbf{V_1} \cdot \mathbf{V_2}=||\mathbf{V_1}||\cdot ||\mathbf{V_2}|| \cdot \cos\theta$$