zoukankan      html  css  js  c++  java
  • 计算平面坐标某点(x,y)与原点(0,0)的角度

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

            今天在看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)

  • 相关阅读:
    配置码云git自动更新的webhook
    PHP如何像javabean一样get+字段名方式取值
    magento信用金额支付插件开发
    JAVASCRIPT localeCompare函数运用
    利用innodb_force_recovery 解决WAMP MySQL服务器无法正常启动的问题
    android回收AnimationDrawable动画的每一帧的图片资源,而释放内存
    MySQL 性能优化 30个数据库设计的最佳实践
    mydumper 快速高效备份mysql,按照表生成备份文件,快速恢复
    MySQL 5.6查询优化器新特性的“BUG” eq_range_index_dive_limit
    Mysql Innodb 引擎优化-内存、日志、IO、其他相关参数
  • 原文地址:https://www.cnblogs.com/KiloNet/p/1908203.html
Copyright © 2011-2022 走看看