Вы можете использовать скалярное произведение (http://en.wikipedia.org/wiki/Dot_product), но, упрощая все это, вы просто берете арктангенс конечной точки вашего вектора, чтобы получить угол между ним и осью x. Функции Атана обычно возвращают в порядке [-pi, pi] или [-180,180], поэтому, если вы хотите убедиться, что он правильно переносится, вам нужно проверить, не отрицательна ли y-компонента вашего вектора. вы можете использовать atan2 вместо atan, и он будет использовать знак каждого компонента, чтобы выяснить знак угла (http://www.cplusplus.com/reference/clibrary/cmath/atan2/).
Например, если у вас есть векторные точки start = <1,2> и end = <- 5, -5>, верните его в начало координат, вычтя начало из конца, что даст вам <-6, -7>. Итак, вы смотрите на этот момент. Угол с осью x равен atan2 (y, x), atan2 (-7, -6), что составляет -130,6.
double x = -6;
double y = -7;
fprintf(stderr,"angle is %.2f\n",atan2(y,x)*180/3.14159);
угол -130.60