如何精确的求出角度?
时间:2011-11-29
来源:互联网
我已知弧的两点坐标(x1,y1)和(x2,y2),还有圆芯坐标(cx,cy),并且算出了半径r
我怎么样算出的角度?
我怎么用公式算出来的有象限的区别,有负,有正?
这角度得出来要是在是在0-360这间的?
请指教!
m_dCircleFAng=asin((y1-cy)/r)*180.0/PI;
m_dCircleEAng=asin((y2-cy)/r)*180.0/PI;;
我怎么样算出的角度?
我怎么用公式算出来的有象限的区别,有负,有正?
这角度得出来要是在是在0-360这间的?
请指教!
m_dCircleFAng=asin((y1-cy)/r)*180.0/PI;
m_dCircleEAng=asin((y2-cy)/r)*180.0/PI;;
作者: xiongkw 发布时间: 2011-11-29
asin()的返回值是-PI/2到PI/2;acos()的返回值是0到PI。你要0到360度的结果就需要自己加判断了。
作者: azand 发布时间: 2011-11-29
引用 1 楼 azand 的回复:
asin()的返回值是-PI/2到PI/2;acos()的返回值是0到PI。你要0到360度的结果就需要自己加判断了。
asin()的返回值是-PI/2到PI/2;acos()的返回值是0到PI。你要0到360度的结果就需要自己加判断了。
你的意识是我要用acos()??
如何加上判断,4个象限都不一样?
作者: xiongkw 发布时间: 2011-11-29
要注意你要的角度是怎么定义的。比如你要的是P1绕圆心顺时针旋转到P2位置所扫过的角度,还是P1绕圆心逆时针旋转到P2位置所扫过的角度。
作者: azand 发布时间: 2011-11-29
或者简单点,假设你的角度是P1绕圆心顺时针旋转到P2位置所扫过的角度。你可以先用acos()算角度,然后算原点指向P1的向量和原点指向P2的向量的叉乘,如果结果是Z轴正方向acos()得到的就是你要的结果;如果是Z轴负方向,就要在acos()的结果基础上再加个PI。
作者: azand 发布时间: 2011-11-29
不好意思,说错了。“如果是Z轴负方向,就要在acos()的结果基础上再加个PI。”应该是:如果是Z轴负方向,就要用2PI减去acos()的结果。
作者: azand 发布时间: 2011-11-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28