【问题标题】:Get mouse position relative to pie chart (equation)获取鼠标相对于饼图的位置(方程)
【发布时间】:2014-09-05 11:26:37
【问题描述】:

我已经从一组数据创建了一个画布饼图,我现在正试图定位相对于饼图的鼠标位置,以检测悬停的数据部分。我快到了,但我被困在一个等式上。

我的逻辑运行良好,所以我认为这更像是一道数学问题,但会看到其他人对我的方法的看法。这是我的饼图和我正在使用的变量:

图像上列出的变量是我必须使用的变量(mouseX、mouseY、距中心的距离、半径、圆周率,以及圆周上数据点相对于圆周率的部分)。

图表的起始部分从右侧开始,从 pi*2 的 0 到 pi*2 的 100%,然后灰色部分的起始位置为 1.34... 相对于 pie*2 和结束2.228的位置...

我目前的主要问题是使用像素测量来计算它相对于 pi 的位置。我可以检查顶部和左侧的位置,然后计算出与中心的距离,并根据 pi 计算出与中心的线,但我很难计算这个。

【问题讨论】:

    标签: javascript jquery math pi


    【解决方案1】:

    最难记住的部分是 Y 坐标在 DOM 坐标中向下,因此角度从正 X 轴顺时针

    给定鼠标位置mx, my:

    var dx = mx - 180;               // horizontal offset from center
    var dy = my - 180;               // vertical offset from center
    
    var theta = Math.atan2(dy, dx);  // angle clockwise from X-axis, range -π .. π
    if (theta < 0) {                 // correct to range 0 .. 2π if desired
        theta += 2.0 * Math.PI;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      相关资源
      最近更新 更多