vs中使用M_PI的问题及解决 角度转弧度&根据弧度计算圆周上点的坐标的方法
2015-01-13 10:27
309 查看
M_PI 是一个宏定义,圆周率的定义
C/C++ code
#define M_PI 3.14159265358979323846
此宏定义和编译器有关,TC中M_PI宏就定义在<math.h>里面。
解决方法:自己定义。
角度转弧度:
#define AngleToRadian(angle) (M_PI/180.0f)*angle
以正东面为0度起点计算指定角度所对应的圆周上的点的坐标:
float radian = AngleToRadian(angle);
float x = center.x + cos(radian)*r;
float y = center.y + sin(radian)*r;
CGPoint point = CGPointMake(x, y);
以正北面为0度起点计算指定角度所对应的圆周上的点的坐标:
float radian = AngleToRadian(angle);
float x = center.x + sinf(radian)*r;
float y = center.y - cosf(radian)*r;
CGPoint point = CGPointMake(x, y);
C/C++ code
#define M_PI 3.14159265358979323846
此宏定义和编译器有关,TC中M_PI宏就定义在<math.h>里面。
但vc的<math.h>中没有了M_PI的宏定义。因此编译时会出错,提示:“M_PI”: 未声明的标识符。
解决方法:自己定义。
角度转弧度:
#define AngleToRadian(angle) (M_PI/180.0f)*angle
以正东面为0度起点计算指定角度所对应的圆周上的点的坐标:
float radian = AngleToRadian(angle);
float x = center.x + cos(radian)*r;
float y = center.y + sin(radian)*r;
CGPoint point = CGPointMake(x, y);
以正北面为0度起点计算指定角度所对应的圆周上的点的坐标:
float radian = AngleToRadian(angle);
float x = center.x + sinf(radian)*r;
float y = center.y - cosf(radian)*r;
CGPoint point = CGPointMake(x, y);
相关文章推荐
- 角度转弧度&根据弧度计算圆周上点的坐标的方法
- 角度转弧度&根据弧度计算圆周上点的坐标的方法
- ORA-14450: 试图访问已经在使用的事务处理临时表,根据网上文章提供的方法,问题是解决了
- WPF下、使用Double作为点坐标带来的问题或line直线颜色不明显的问题的解决方法
- 使用严老师VS2017版PSINS程序计算没有ins结果好的问题解决
- 关于vue的使用计算属性VS使用计算方法的问题
- 同时使用VS 2012与VS 2010的问题解决方法
- 同时使用VS 2012与VS 2010的问题解决方法
- 使用itext根据freemarks模版生成pdf,表格产生跨页问题解决方法
- 安装完vs.2005之后,重新安装iis后无法使用http方式访问asp.net工程的页面的问题的解决方法
- vs中使用M_PI的问题及解决
- 使用Axis部署Web服务时的常见问题及其解决方法(转)
- Infragistics的NetAdvantage控件使用中遇到的问题及解决方法
- 使用webservice解决多系统登陆问题(方法一)
- 关于使用VS.Net2003调试器出现的问题及相关解决方法 (转)
- vs2005.net web应用程发布问题及解决方法
- 关于使用asp.net调试器出现的问题及相关解决方法
- 使用ld的“-Ttext”选项时可能产生的一个问题的解决方法
- 使用Apache Axis部署 Web服务时的常见问题及其解决方法(转)
- 在VS.NET 2003中建立项目时遇到的两个问题及解决方法 (转)