画图中的弧度与角度转换(Math.atan与Math.atan2)
来源:互联网 发布:淘宝网商城女装短裤 编辑:程序博客网 时间:2024/04/29 19:26
最近在做一个连线游戏时,用到了计算两点之间的角度,如何计算任意两点间直线的倾斜角呢?只需要将两点x,y坐标分别相减得到一个新的x,y轴距离(x2-x1,y2-y1).然后利用它求出角度就可以了。
1、js中Math.atan()
Math.atan()接受一个参数:用法如下:
angel=Math.atan(slope)
angel为一个角度的弧度值,slope为直线的斜率,是一个数字,这个数字可以是负的无穷大到正无穷大之间的任何一个值即y/x.
不过,利用他进行计算比较复杂.因为它的周期性,一个数字的反正切值不止一个.例如atan(-1)的值可能是45度,也可能是225度.这样就是他的周期性,对于正切函数来说,他的周期是180度,所以两个相差180度的角具有相同的正切和斜率:
tanθ=tan(θ+180)
然而,Math.atan()只能返回一个角度值,因此确定他的角度非常的复杂,而且,90度和270度的正切是无穷大,因为除数为零,我们也是比较难以处理的~!因此我放弃使用该函数.
2、Math.atan2()
Math.atan2()接受两个参数x和y,方法如下:
angel=Math.atan2(y,x)
x 指定点的 x 坐标的数字。
y 指定点的 y 坐标的数字。
计算出来的结果angel是一个弧度值,也可以表示相对直角三角形对角的角,其中 x 是临边边长,而 y 是对边边长。
例如:
x=Math.atan(1)//计算正切值为1的数字对应的弧度值0.785398163397448
x=180*x/Math.PI//转换为角度值45deg
回归到游戏中,我计算出终点与起始点的y轴间距与x轴间距,代入到公式中得到一个弧度,然后*180/Math.PI得到角度,至此大功告成!!
- 画图中的弧度与角度转换(Math.atan与Math.atan2)
- Math.atan与Math.atan2
- Math.atan与Math.atan2
- Math.atan与Math.atan2
- C语言math.h库函数中atan与atan2的区别
- [转]C语言math.h库函数中atan与atan2的区别
- atan与atan2函数
- as3 中的数学函数atan与atan2
- as3 中的数学函数atan与atan2
- C语言中的atan 与atan2
- 数学API Math.atan() 和Math.atan2() 三角函数复习
- 【c++】角度与弧度转换
- iOS角度与弧度转换
- Fortran库函数atan与atan2
- ATan2与ATan的区别
- 根据位置计算角度 Math.atan2
- iOS 角度与弧度的转换
- 正切atan2(y,x)与atan(x)
- fastdb中的relation
- 弃用数据库自增ID,曝光一下我自己用到的解决方法之---终结篇
- MS SQL SERVER 触发器的临时内存表
- 阶乘问题
- 利用 SHDocVw::IShellWindowsPtr m_spSHWinds 遍历所有IE浏览器,得到里面的所有元素
- 画图中的弧度与角度转换(Math.atan与Math.atan2)
- 一场流水线带来的灾难
- MyEclipse Android2.2 开发环境搭建、配置(基于Windows 7操作系统、MyEclipse8.5、Android2.2)
- zs data
- 开放的图书馆呼唤开放的心灵
- 嵌入式linux通过DHCP自动获取IP地址实现获取
- 远程注入DLL实现进程隐藏以及键盘记录器
- android 进度条小例子1
- Mysql备份压缩文件,解压缩报错的解决方案!