为了账号安全,请及时绑定邮箱和手机立即绑定

请教关于坐标的问题,麻烦帮我解释一下这段程序的意思?

请教关于坐标的问题,麻烦帮我解释一下这段程序的意思?

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条经验 获得超3个赞

这是求解(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

查看完整回答
反对 回复 2022-09-21
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号