float CRadarCodeView::GetAngle(float x, float y)//float ret;float xoffset=x;float yoffset=y;if (xoffset==0){if (yoffset>=0)ret=0;elseret=180;}else if(yoffset==0){if (xoffset>=0)ret=90;elseret=270;}else{float angletmp = float(atan(xoffset/yoffset)*180/3.141593);if(xoffset>0 && yoffset<0)ret = angletmp+180;else if(xoffset<0 && yoffset>0)ret = angletmp + 360;else if(xoffset<0 && yoffset<0)ret = 180+angletmp;elseret = angletmp;}return ret;}
1 回答

DIEA
TA貢獻1820條經驗 獲得超2個贊
這是求解(x,y)、坐標原點的連線與X軸夾角的程序
如果xoffset==0,點在X軸上,此時如果Y大于0,夾角=0;小于0,夾角180
同理yoffset==0,點在y軸上,此時如果X大于0,夾角=90;小于0,夾角270
如果xoffset、yoffse均不為0. 式 ”atan(xoffset/yoffset)*180/3.141593“是求解夾角,轉換成度數的表達式,下面的那些公式則是根據點所在的象限,調整夾角的值。
“ret”是函數返回值的意思,應該為return
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消