如何找到第二个点(?,?)绕静止第一个点(0,0)旋转的方式?
注意:如果第二个点是(1,0),它将会旋转0度。
答案 0 :(得分:4)
还记得SOHCAHTOA吗? ;)您可以使用arctangent(通过标准atan2()
函数)来确定原点和任意点之间的直线角度:
#include <cmath>
double mouseX = ...;
double mouseY = ...;
double angleInRadians = std::atan2(mouseY, mouseX);
答案 1 :(得分:2)
如果旋转角度为a
,第二个点为(x,y)
则为:
a = arctan(y/x)