机器人笔记——关于atan2与atan的区别

前言

近期在做关于3R码垛机械臂的运动学解算时,在计算过程中用到了四象限反正切函数(也就是atan2),发现他与atan的使用上是有不同的,所以本文就重点记录两者的区别与使用。

前序内容

一. 区别

首先先说区别是什么:

① atan2有两个输入值,而atan只需要一个输入值即可;

atan2可判断角度象限:因为atan2有两个输入值,所以通过判断这两个变量符号,即可判断出角度所在象限;atan无法判断象限。

输出范围不同:atan2能判断象限,其输出取值范围为(-\pi\pi];而atan输出取值范围为(-\pi/2,\pi/2)

二. 具体说明

1. atan2(y,x)

四象限反正切函数(即atan2函数)的输入值为x和y,其输出其实就是原点(0,0)到点(x,y)的方位角,就是这两点连线与X轴的夹角。【其取值范围为(-\pi\pi]】

注意:函数atan2(y,x)中参数的顺序是倒置的,atan2(y,x)计算的值相当于点(x,y)的角度值。

比如上图的点(-2,-2),与原点连接后与X轴的夹角是-135°;而(-2,2)对应的解是135°,这样就能更直观理解了。

再进一步我们可以用matlab来输出这个结果,看看到底输出是不是这样的:

2. atan(c)

反正切函数atan是一种反三角函数,也写作y=tan^{-1}\left ( x \right ),这里c=y/x,但这并不是两个参数,而是代表了y/x这一个数值,这里也能解释为什么atan不能分辨象限:因为\frac{y}{x}=\frac{-y}{-x},因此输入的都是同一个数值。

比如(-3,-3)和(3,3)这两个,利用matlab计算如下:

输入时是一个参数,但是也可以这样理解:让(x,y)与原点连线,然后这条线的延长线与X轴的夹角就是对应的角度(在一、四象限内):

以上就是两个函数的使用区别了。


本文用于共同学习,如有不对还请批评指正~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值