`
- 浏览:
224258 次
- 性别:
- 来自:
北京
-
斜率计算:反正切函数 Math.atan() 与 Math.atan2() 的区别
我们可以使用正切操作将角度转变为斜率,那么怎样利用斜率来转换为角度呢?可以利用斜率的反正切函数将他转换为相应的角度.as中有两个函数可以计算反正切,我们来看一下.
1、Math.atan()
Math.atan()接受一个参数:用法如下:
angel=Math.atan(slope)
angel为一个角度的弧度值,slope为直线的斜率,是一个数字,这个数字可以是负的无穷大到正无穷大之间的任何一个值.
不过,利用他进行计算比较复杂.因为他的周期性,一个数字的反正切值不止一个.例如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的数字对应的弧度值
trace(x) //输出一个弧度值0.785398163397448
x=180*x/Math.PI//转换为角度值
trace(x) //输出45
x=Math.atan2(7,7)
trace(x)//输出0.785398163397448
x=180*x/Math.PI//转换为角度值
trace(x)//输出45
x=Math.atan2(7,-7)
trace(x)2.35619449019234
x=180*x/Math.PI//转换为角度值
trace(x)135
x=Math.atan2(-7,7)
trace(x)//输出-0.785398163397448
x=180*x/Math.PI//转换为角度值
trace(x)//输出-45
x=Math.atan2(-7,-7)
trace(x)//输出-2.35619449019234
x=180*x/Math.PI//转换为角度值
trace(x)//输出-135
//从这些测试可以看出,通过坐标系的自动调整,我们可以很自由的计算出处于不同象限的位置相对应的角度.
3、计算两点间连线的倾斜角.
这种方法非常的有用.
Math.atan2()函数返回点(x,y)和原点(0,0)之间直线的倾斜角.那么如何计算任意两点间直线的倾斜角呢?只需要将两点x,y坐标分别相减得到一个新的点(x2-x1,y2-y1).然后利用他求出角度就可以了.使用下面的一个转换可以实现计算出两点间连线的夹角.
Math.atan2(y2-y1,x2-x1)
不过这样我们得到的是一个弧度值,在一般情况下我们需要把它转换为一个角度.
下面我们用一段代码来测试一下这样的转换.
//测试,计算点(3,3)和(5,5)构成的连线的夹角
x=Math.atan2(5-3,5-3)
trace(x)//输出0.785398163397448
x=x*180/Math.PI//转换为角度
trace(x)//输出45
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
语法 以下是 atan2() ⽅法的语法: import math math.atan2(y, x) 注意:atan2()是不能直接访问的,需要导⼊ math 模块,然后通过 math 静态对象调⽤该⽅法。 参数 x -- ⼀个数值。 y -- ⼀个数值。 返回值 返回给定...
这个方法返回其参数商数的反正切。该ATAN2方法返回-pi和PI 较(x,y)点的角度theta之间的数值。 语法 Math.atan2( x, y ) ; 下面是参数的详细信息: x 和 y : 一个数字. 返回值: 返回一个数弧度的反正切值 Math....
主要介绍了JavaScript中的Math.atan()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下
axure函数速查表,包括TotalDragY DragTime Window.width Window.height Window.scrollX ...Math.atan2(y,x) Math.ceil(x) Math.cos(x) Math.exp(x) Math.floor(x) Math.log(x) Math.max(x,y) Math.min(x,y)
注意:atan2()是不能直接访问的,需要导入 math 模块,然后通过 math 静态对象调用该方法。 参数 x — 一个数值。 y — 一个数值。 返回值 返回给定的 X 及 Y 坐标值的反正切值。 实例 以下展示了使用 atan2() ...
atan 和 atan2 都是反正切函数,返回的都是弧度 对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是: angle = atan( (y2-y1)/(x2-x1) ) 或 angle = atan2( y2-y1, x2...
python源码,math.py,math.nan acos acosh asin asinh atan atan2 ceil
Number(数字)——三角函数 用法:import math math.sin( x ) 三角函数 函数 描述 acos(x) 返回x的反余弦弧度值。...用法:import math math.pi #3.141592653589793 math.e #2.718281828459045
基于dsPIC33F的快速CORDIC法计算反正切值
atan()方法返回x的反正切值,以弧度表示。 Syntax 以下是atan()方法的语法: atan(x) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。 参数 x — 这必须是一个...
32.求反正切函数: EXTFCTP REAL ATAN2(REAL X :IN,REAL Y :IN) 33.读取从信箱读取故障信息代号: EXTFCTP INT MBX_REC(INT MBX_ID :IN,STOPMESS MESS :OUT) 34.工具校正: EXTFCTP FRAME TOOL_ADJ(FRAME X ...
leftSize: Math.sqrt(currentH ** 2 (width * (0.5 - lean)) ** 2), rightSize: Math.sqrt(currentH ** 2 (width * (0.5 lean)) ** 2), leftAngle: Math.atan(currentH / ((0.5 - lean) * width)), ...
atan2 反正切函数 2 atan2(y,x) asinh 反双曲余弦函数 asinh(x) atanh 反双曲正切函数 atanh(x) sinh 双曲正弦函数 sinh(x) cosh 双曲余弦函数 cosh(x) tanh 双曲正切函数 tanh(x) even 偶数函数(整数部分为
leftSize: Math.sqrt(currentH ** 2 (width * (0.5 - lean)) ** 2), rightSize: Math.sqrt(currentH ** 2 (width * (0.5 lean)) ** 2), leftAngle: Math.atan(currentH / ((0.5 - lean) * width)), ...
python 基础 python math库的使用,展示了math库中常用的函数并给出python2的示例 常用函数1 ceil(x), floor(x), trunc(x):注意正负数的区别 copysign(x, y):取符号 modf(x):取整数、小数 factorial(x):阶乘 ...
(1)且用asin曲线计算代替难以描述的atan曲线,快速开方函数 (2)全部采用整形运算,加快了运算速度,返回的角度范围是0~360.00,包含4个象限,输出角度值 (3)asin曲线使用了一半的曲线,解决了asin邻近90度时...
三角函数:(所有参数必须为... 用途:用来返回给定的 X 的反正切函数。 4.sin 函数声明:sin (double x); 用途:用来返回给定的 X 的正弦值。 5.cos 函数声明:cos (double x); 用途:用来返回给定的 X 的余弦值。
Math.js是一个用于JavaScript和Node.js的扩展数学库。 它具有支持符号计算的灵活表达式解析器,大量内置函数和常量,并提供了集成的解决方案来处理不同的数据类型,例如数字,大数,复数,分数,... import { atan2 ,