Найти угол отражения от 3 кординатов

Я хочу рассчитать угол из 3 точек. В настоящее время я могу измерять углы от 0 до 180. Но мне нужно получить углы от 0 до 360. Как я могу измерить углы между 180-360?

int find_angle_from_cordinates_test(int ax,int ay,int bx,int by,int cx,int cy)
{
    float sa = sqrt((cx-bx) * (cx-bx) + (cy - by)*(cy-by));
    float sb = sqrt((cx-ax) * (cx-ax) + (cy - ay)*(cy-ay));
    float sc = sqrt((ax-bx) * (ax-bx) + (ay - by)*(ay-by));

    float aa = acosf((sb * sb + sc * sc - sa*sa)/(2 * sb * sc));

    printf("Angle a : %f\n\r",(aa*180)/PI);         

    return (aa*180)/PI;
}

обратите внимание, что (ax, ay) является центром, но не (0,0) и (bx,by), (cx,cy) может быть любым значением в круге.

Может ли кто-нибудь помочь мне найти это?

0 ответов

Другие вопросы по тегам