atan2

점 A, B가 존재할때 x, y 만큼 이동 했을때  각도 Θ를 구해 보자.
AB는 직각 삼각형이다.



atan2를 이용하면 각도 Θ를 바로 구할수 있다.

Θ = atan2(y, x) * INV_PI

#include "stdafx.h"
#include <math.h>
#include <iostream>

using namespace std;

float INV_PI = 180.0f / 3.141592f;
float GetAngle(float x, float y)
{
    float degree = atan2(y, x) * INV_PI;
    degree = fmodf(degree + 360, 360);
    return degree;
}

int main()
{
    
    cout << "degree :  " << GetAngle(1, 1) << std::endl;  //45도
    cout << "degree :  " << GetAngle(-1, 0) << std::endl; //180도
    cout << "degree :  " << GetAngle(-1, -1) << std::endl; //225도
    cout << "degree :  " << GetAngle(0, -1) << std::endl; //270도

    
    return 0;
}

참고)
http://zzoyu.tistory.com/73