vs中使用M_PI的问题及解决 角度转弧度&根据弧度计算圆周上点的坐标的方法

M_PI 是一个宏定义,圆周率的定义

          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);

时间: 2024-11-05 22:06:27

vs中使用M_PI的问题及解决 角度转弧度&根据弧度计算圆周上点的坐标的方法的相关文章

20170514002Oracle 11g R2安装过程中遇到的报错及解决办法

Oracle 11g R2安装过程中遇到的报错及解决办法 1.提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #su – Oracle  //切换到oracle用户 $./runInstaller  //执行安装程序 xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA

【LaTex】Texstudio中中文文本乱码问题的解决方法

Texstudio中中文文本乱码问题的解决方法:1.因为默认编码是UTF8,ctex的编码是GBK,所以出现乱码.将texstudio编码设成GBK乱码自然消失.2.通过拷贝粘贴,不会出现乱码.3.texstudio构建的编译平台是pdflatex,GBK编码时无需加UTF8选项,加了反而慢,甚至出错.不知为什么?4.编码是UTF8时,宜用xelatex编译,很快.5.Sublimetext可将GBK编码转存为UTF8,转存后用texstudio打开不会出现乱码.如果出现将默认编码改成UTF8就

Windows中openProcess函数返回ERROR_ACCESS_DENIED的解决方法

辛辛苦苦开始了创业,好不容易见到了天使投资人,如何去打动明星投资人?如何能拿到那一笔"救命"钱?看徐小平.雷军这样说. 1. 天使投资人偏爱投什么样的创业者? 雷军:你有强烈的渴望做成一件伟大的事情,并且能让投资者相信你能做得成这件事情.掏自己的钱创业是创业成功率最高的一种,因为在那一瞬间你重视了,你花的每一分钱都是自己的血汗钱和别人的血汗钱,不会轻松把别的投资人的钱打水漂. 曾李青:我们体系内投了好几家公司,发现我们投资成功的公司要么是有做大公司的成功经验,要么是名校毕业.好学校不一

Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题)

 Halcon的HWindowControl控件在WinForm程序中的使用介绍(重点解决图片缩放的问题) 2016-12-04 20:11 362人阅读 评论(4) 收藏 举报  分类: Halcon 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] HWindowControl控件初步使用 最近在学习新的视觉处理工具–Halcon软件包,本人学习的主要是HDevelop.Halcon与C#混编以及Halcon与C++混编.这里再多缀一句:11版本后C++编程,包含的是h

jQuery中对checkbox设置checked无用解决办法

1. 对html中的多选框设置选择和取消选择,如  $("#id").attr('checked',true);$("#id").attr('checked',false).如果在调试栏中查看elements属性,可以看出,checked是已经设置成功了的,但是在html中不能表现出来. 2. 解决办法 :用prop设置.prop的值为ture或者false.方法如下: $("#id").prop('checked',true); $("

jquery mobile使用过程中遇到的一些问题及解决方法

最近在项目在综合考虑了可能维护性和应用本身的复杂性,采用了HTML5 + JQuery Mobile的文案. 记录一下遇到的两个问题. 1)为了在手机上运行的更快,canvas中底图决定调用 putImageData 来复制,但在android 2.3系统上,canvas 的 putImageData 有很严重的锯齿,canvas.translate(0.5, 0.5)也是没有效果.如下图,前面是正常画出的底图,后面是 putImageData 后的底图. 解决办法, if (android 2

mysql中Table is read only错误解决方法

今天再我把数据库data 拷贝到linux 下运行程序 ”mysql中Table is read only的解决“ 出现这样的问题,查询资料. linux下执行如下命令即可 #mysqladmin -u root -p flush-tables 还有就是目录权限问题 因为数据较多,导出->导入比较慢,我是直接压缩,下载然后解压的,考虑到目录权限问题,数据库目录的所属用户和组改为mysql 代码 chown -R mysql:mysql(www.111cn.net) /usr/local/mysq

php中curl不支持https的解决办法

在php程序中使用curl去访问https站点时,报错:Protocol https not supported or disabled in libcurl 该错误信息表示php当时编译时使用的curl库不支持https, 验证方法为你的curl安装目录/bin/curl  -V  显示如下:Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp这表示curl是不支持 https的 为了支持https,需要下载源

jsp页面中onsubmit=&quot;return checklogin();&quot;报错解决办法

选择Window->Preferences->MyEclipse->Validation 去掉方框里的对号,然后Apply 然后点击Yes->然后再点击ok->Yes,就好了,如果你打开了那个出现错误jsp页面的话,请关掉重现打开就ok啦 jsp页面中onsubmit="return checklogin();"报错解决办法,布布扣,bubuko.com