Angle entre 3 points?

Points ABC, comment pourrais-je trouver de l'angle ABC? Je suis en train de faire un feehand outil pour une application de dessin vectoriel et de minimiser le nombre de points qu'il génère, je ne vais pas ajouter un points de moins que l'angle de la position de la souris et les 2 derniers points est supérieure à un certain seuil.
Grâce

ce que j'avais:

int CGlEngineFunctions::GetAngleABC( POINTFLOAT a, POINTFLOAT b, POINTFLOAT c )
{
    POINTFLOAT ab;
    POINTFLOAT ac;

    ab.x = b.x - a.x;
    ab.y = b.y - a.y;

    ac.x = b.x - c.x;
    ac.y = b.y - c.y;

    float dotabac = (ab.x * ab.y + ac.x * ac.y);
    float lenab = sqrt(ab.x * ab.x + ab.y * ab.y);
    float lenac = sqrt(ac.x * ac.x + ac.y * ac.y);

    float dacos = dotabac / lenab / lenac;

    float rslt = acos(dacos);
    float rs = (rslt * 180) / 3.141592;
     RoundNumber(rs);
     return (int)rs;


}

source d'informationauteur jmasterx