很奇怪的一个问题,不知道是什么原因导致的
double tanx = prepoint.x - currentpoint.x;
double tany = prepoint.y - currentpoint.y;
double arcangle = atan(fabs(tany / tanx))*180.0 / CV_PI;
if (tanx < 0 && tany < 0)
{
//第一象限
}
else if (tanx > 0 && tany < 0)
{
//第二象限
arcangle = 180 - arcangle;
}
else if (tanx > 0 && tany > 0)
{
//第三象限
arcangle = 180 + arcangle;
}
else if (tanx < 0 && tany > 0)
{
//第四象限
arcangle = -arcangle;
}
cout << "arcangle::::::::" << arcangle << endl;
double arcangle2 = arcangle;
if (tanx < 1.5 || tanx >-1.5)
{
tanx = 0.0;
arcangle = atan(fabs(tany / tanx))*180.0 / CV_PI;
}
if (tany < 1.5 || tany >-1.5)
{
tany = 0.0;
arcangle = atan(fabs(tany / tanx))*180.0 / CV_PI;
}
if(arcangle2 != arcangle)
cout <<"arcangle:" <<arcangle << endl;