问题描述
我当前正在使用fl_chart包来创建带有抖动的散点图。
我试图模仿维恩图的功能,仅针对两个圆圈。
有没有办法可以检测到这些圆的交点内的点击?
到目前为止,即使我点击了它们的交点,我也只能检测到其中任何一个圆圈的点击。
有没有办法在颤抖的情况下实现这一目标?如果您知道一个提供此功能的软件包,我就不希望受此限制。
解决方法
要检测2个圆的交点处的点击,您需要3条信息:
- 点击位置的X,Y坐标
- 每个圆心的X,Y坐标
- 每个圆的半径或直径
如果知道这些,则可以使用距离公式来计算单击的点与一个圆的中心之间的距离。如果距离小于或等于半径,则该距离在圆内。现在,您检查到另一个圆心的距离,如果它也小于或等于第二个圆的半径,则它在两个圆内,这意味着它在重叠区域中。