计算平面坐标某点(x,y)与原点(0,0)的角度

本文介绍了 Math.atan2 函数的应用及原理,详细解释了如何利用该函数计算两点间连线的倾斜角,适用于需要处理坐标变换和角度计算的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        以前某个项目有一个功能需要手指滑动一个饼图。当时搬高中数学公式,并大量查询网络,花了两个小时把那个功能的数学算法搞定。

        今天在看android下一段源码时,突然发现一个数学函数:Math.atan2 ,一下子羞愧难当,原本一个简单的数学函数,我花了两个小时。。。。。。

       知耻而后勇,把这个函数好好熟悉一下:

 

Java:

public static native double atan2(double paramDouble1, double paramDouble2);

paramDouble1 y坐标

paramDouble2 x坐标

 

C#:

public static double Atan2 (
    double y,
    double x
)

 

参数
y

点的 y 坐标。

x

点的 x 坐标。

返回值

θ,以弧度为单位,满足 -πθπ,且 tan(θ) = y / x,其中 (x, y) 是笛卡儿平面中的点。请看下面:

  • 如果 (x, y) 在第 1 象限,则 0 < θ < π/2。

  • 如果 (x, y) 在第 2 象限,则 π/2 < θπ

  • 如果 (x, y) 在第 3 象限,则 -π < θ < -π/2。

  • 如果 (x, y) 在第 4 象限,则 -π/2 < θ < 0。

备注

返回值为笛卡尔平面中的角度,该角度由 x 轴和起点为原点 (0,0)、终点为 ( x,y ) 的向量构成。

 

 

 

根据返回的θ,可以计算其角度:θ*(180 / Math.PI) 

 

应用:计算两点间连线的倾斜角.
Math.atan2()函数返回点(x,y)和原点(0,0)之间直线的倾斜角.那么如何计算任意两点间直线的倾斜角呢?只需要将两点x,y坐标分别相减得到一个新的点(x2-x1,y2-y1).然后利用他求出角度就可以了.使用下面的一个转换可以实现计算出两点间连线的夹角.
Math.atan2(y2-y1,x2-x1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值