javascript - 检测一个点是在 raphael.js 形状的内部还是外部

标签 javascript svg collision-detection raphael

我有一个 raphael.js 形状,我正在其上绘制圆圈。我只希望在圆圈不超出其所绘制形状的边界时出现圆圈。

为了更清楚地说明这一点,这里有一个我不希望发生的例子:

Example http://img682.imageshack.us/img682/4168/shapeh.png

我不希望灰色区域外的圆圈出现。我如何检测圆圈是在灰色形状的内部还是外部?

最佳答案

确定一个点是否在闭合路径内的一种可能方法是:

  1. 选择绝对在形状之外的坐标。
  2. 从该点到您的实际问题点画一条线。
  3. 计数,直线与路径相交的频率。
  4. 如果交叉点的数量是奇数,那么你的点在里面。如果是偶数,则点在外面。

我不知道这是否对您有很大帮助,因为我根本不了解 raphael.js。但这是解决问题的有效几何方法。

关于javascript - 检测一个点是在 raphael.js 形状的内部还是外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659206/

相关文章:

javascript - 使用 webpack 5 将 SVG 导入为 React 组件

javascript - svg 动画动画不流畅

java - 导致游戏和计时器停止的碰撞检测

java - 如何测试两个任意形状的重叠(或碰撞)

Javascript:从其中有换行符或 '\n'的主字符串中获取子字符串

javascript - JQuery .load() 意外行为

javascript - 成功提交到 Google 表格后,提交表单应显示消息

javascript - fetch 的响应为空,即使请求成功

jquery - 如何通过 jQuery 更改 SVG 元素的颜色(拖动选定的颜色)

java - android中两个矩形之间的碰撞检测