如何判断鼠标指针是否位于贝塞尔曲线和直线定义的路径内?

2024-06-08

我有一条由多条贝塞尔曲线和直线段组成的闭合路径。如何判断鼠标指针的当前位置是在路径内部还是外部?

Example of mouse leaving the area:
on mouse leave

Example of mouse entering the area:
on mouse enter


首先,您应该检查您正在使用的图形库是否已经提供了此命中测试。

如果您必须自己编码,那么完全精确的答案将需要求解二次或三次方程(取决于贝塞尔曲线的阶数)来确定与这些路径的交点。好像有一篇论文正是这个问题 http://www.sciencedirect.com/science/article/pii/S0097849397000605.

不过,我认为为您的路径构建线性近似(即密集评估路径)然后使用标准会更明智多边形内点测试 http://en.wikipedia.org/wiki/Point_in_polygon。这可以精确到您选择的任何容差(例如一个像素)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何判断鼠标指针是否位于贝塞尔曲线和直线定义的路径内? 的相关文章

  • 实时战略战争游戏人工智能算法

    我正在设计一款实时策略战争游戏 其中 AI 将负责控制大型六边形地图上的大量单位 可能超过 1000 个 一个单位有许多行动点 可以用于移动 攻击敌方单位或各种特殊行动 例如建造新单位 例如 一辆拥有 5 个行动点的坦克可以花费 3 个行动
  • 二分插入排序和复杂度

    我有一个关于在插入排序算法中使用二分搜索的简单问题 更准确地说 在通常的插入排序的每一步中 我们不是将元素与前一个 已排序 子数组中的所有元素进行线性比较 而是在该已排序子数组中使用二分搜索来查找该元素所属的位置 我知道这减少了算法进行的比
  • 如何找到最大。和分钟。在数组中使用最小比较?

    这是一道面试题 给定一个整数数组 找出其中的最大值 和分钟 使用最小比较 显然 我可以循环数组两次并使用 2n在最坏的情况下进行比较 但我想做得更好 1 Pick 2 elements a b compare them say a gt b
  • 以最少插入次数将字符串转换为回文

    这是一个来自日常编码问题 https www dailycodingproblem com 给定一个字符串 找到可以通过插入来组成的回文数 单词中任何位置的字符数尽可能少 如果有 大于一个可以制作的最小长度的回文 返回 字典顺序最早的一个
  • 链表分区函数及反转结果

    我编写了这个 F 函数来将列表分区到某个点并且不再进一步 很像之间的交叉takeWhile and partition let partitionWhile c l let rec aux accl accr match accr with
  • 用于将分层平面数据(带 ParentID)转换为带缩进级别的排序平面列表的算法

    我有以下结构 MyClass guid ID guid ParentID string Name 我想创建一个数组 其中包含按层次结构中应显示的顺序排列的元素 例如 根据它们的 左 值 以及将 guid 映射到缩进级别的散列 例如 ID N
  • 需要创建一个“选择你自己的冒险”类型的指南 - 最佳使用方法

    基本上需要询问用户一系列问题并收集信息 每个问题都可能对以后的不同问题产生影响 另一个例子是涡轮税的网络界面 在某些 上回答 是 可能会引发未来的问题 似乎这在软件中是一个相当常见的问题 所以我想我是在问是否有任何现有的解决方案 设计模式可
  • 棒材切割 - 动态规划

    问题陈述 棒材切割问题如下 给定一根长度为n英寸和价格表Pi for i 1 2 3 n 确定最大收益Rn可以通过切割棒并出售碎片来获得 请注意 如果价格Pn对于一根长度的杆n足够大 最佳解决方案可能根本不需要切割 考虑以下情况 n 4 图
  • 滑动窗口最小算法

    这是一个家庭作业问题 设 A 是一个整数数组和整数 K 窗口大小 当窗口滑过 A 时 生成在窗口中看到的最小值的数组 M 我发现一篇文章 http home tiac net cri 2001 slidingmin html有这个问题的解决
  • 使用 O(1) 辅助空间迭代二叉树

    是否可以在 O 1 辅助空间中迭代二叉树 不使用堆栈 队列等 或者这已被证明是不可能的 如果可以的话 怎样才能做到呢 编辑 我得到的关于如果有指向父节点的指针就可能实现这一点的响应很有趣 我不知道可以做到这一点 但取决于您如何看待它 这可以
  • 将曲线图案与图像边缘匹配

    我有一个要搜索沿其边缘的曲线的目标图像和一个包含该曲线的模板图像 我需要实现的是在目标图像中找到模板图像中的曲线的最佳匹配 并根据分数来判断是否匹配 这还包括曲线的旋转和大小调整 目标图像可以是 Canny Edge 检测器的输出 如果这能
  • 位图中连续区域的计数是否可以比 O(r * c) 改进?

    您将获得一张由卫星拍摄的表面图像 该图像是一个位图 其中水用 标记 土地标记为 相邻组 形成一个岛屿 二 如果它们水平 垂直或对角相邻 则它们是相邻的 您的任务是打印位图中岛屿的数量 输入示例 输出 5 这是我的实现 需要O r c 空间和
  • com.jcraft.jsch.JSchException:算法协商失败

    我正在尝试从客户端计算机连接 sftp 服务器 但是 com jcraft jsch JSchException 算法协商失败 我收到这种错误 com jcraft jsch JSchException Algorithm negotiat
  • 如何在 Perl 中生成数组的所有排列?

    生成所有内容的最佳 优雅 简单 高效 方式是什么 n perl 中数组的排列 例如 如果我有一个数组 arr 0 1 2 我想输出所有排列 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 它可能应该是一个返回迭代器的
  • 准备与大数据相关的设计和架构问题的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将数字 1 排列在二维矩阵中

    给定二维矩阵的行数和列数 初始矩阵所有元素均为0 给定每行中应该出现的 1 的数量 给定每列中应该出现的 1 的数量 确定是否可以形成这样的矩阵 例子 Input r 3 c 2 no of rows and columns 2 1 0 n
  • Welzl 算法的迭代版本

    我正在使用 Welzl 算法来查找点云的最小外接圆 2d 或最小外接球体 3d 不幸的是 该算法具有非常高的递归深度 即输入点数 这个算法有迭代版本吗 我找不到任何并且不知道如何将递归更改为循环 我发现了一些迭代的最小包围圆 球算法 但它们
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 将 diff 转换为带有删除线的 Markdown?

    我想转换输出diff 在 Markdown 文件上 降价与
  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt

随机推荐

  • Convert.ToInt32() 带逗号的字符串

    我有一个字符串 有时用逗号分隔数字 例如1 500我需要将其转换为 Int 目前它抛出异常 有人可以告诉我如何解决这个问题 以便有时我可以输入带逗号的数字 有时不带逗号 它仍然会转换 你可以使用int Parse http msdn mic
  • 如何防止点击 Google 地图中的标记时相机移动?

    我正在使用适用于 iOS 的 Google 地图 SDK 我想在点击标记时防止相机移动 我怎样才能做到呢 在viewDidLoad中添加以下代码 BOOL mapView GMSMapView mapView didTapMarker GM
  • 为什么 AngularJS 在使用 ng-bind-html 时会去掉 data- 属性?

    我正在使用 contentEditable div 来使用户能够格式化他们的文章 我对html内容做了一些处理并保留它 我在用ng bind html当观众想要阅读文章时呈现结果 我不想使用 sce trustAsHtml因为我仍然希望 A
  • 有多少用户获得了更新的应用版本

    我最近将新版本的 Android 应用程序推送到了 Play 商店 并想看看有多少用户已经成功获取更新 似乎有关于 Android 版本和正在使用的设备的统计数据 但我似乎无法找到有关我的用户正在使用的应用程序版本的任何信息 Go to h
  • 为什么这会导致 Haskell Conduit 库内存泄漏?

    我有一个conduit https hackage haskell org package conduit管道处理长文件 我想每 1000 条记录为用户打印一份进度报告 所以我这样写 Every n records perform the
  • Rails 模型中的 class_nameforeign_key

    我最近遇到了这段代码 用户有很多答案 class name 和 foreign key 的目的是什么 class Answer lt ApplicationRecord belongs to user class name gt Quest
  • 如何检查DLL文件是否已注册?

    如何以编程方式查找用 C 编写的 DLL 文件是否已注册 我已经尝试过这段代码 但它没有成功 如果我注册一个 DLL 文件并使用此代码进行检查 它将返回 如果我取消注册它并运行同一段代码 它会再次返回 true 我将 DLL 文件的完整路径
  • 使用 CSS 和 JQuery 创建组织结构图结构

    I was checking on stack forum Trees in Twitter Bootstrap https stackoverflow com questions 11167628 trees in twitter boo
  • OSGi:将参数传递给特定包

    我有一个带有自定义 Main 类的自定义 jar 它启动 OSGi 框架并安装 启动捆绑包 这个主 jar 还包括一个属性文件 目标 我有一个包 A 它应该以某种方式获取主 jar 的该属性文件的属性 我的第一次尝试是在捆绑包 A 中定义一
  • 在Python中实现函数的前向声明[重复]

    这个问题在这里已经有答案了 是否可以在 python 中声明函数并单独实现它们 我的意思是在 C 中 void foo void foo C 前向声明用于解决依赖性问题 功能foo由函数使用bar and foo needs bar在声明它
  • 在模拟器中观察短信发送应用程序

    有没有办法从模拟器读取传出的短信 在 logcat 中我看到这条消息 D SmsStorageMonitor 738 SMS send size 0 time 1327423357467 有没有办法获取接收者和内容 发出的短信似乎没有保存在
  • 为什么我可以使用 Application 作为 ViewModelComponent 和 Hilt 中的默认绑定?

    来自article https developer android com training dependency injection hilt android component default 我知道每个 Hilt 组件都带有一组默认绑
  • 如何将嵌套的数字列表转换为字符串列表?

    我有下面的列表 p 1 2 3 4 2 3 4 1 如何将子列表放入字符串中 例如 期望的结果是 p 1234 2341 可以通过将每个整数转换为字符串并连接字符串来完成 p join map str sub list for sub li
  • 使用 Selenium + JavaScript 或 WebDriverJS 在浏览器中执行 JavaScript

    经过很多天的大量搜索后 我在这里寻求帮助 我们有一个使用 javascript selenium webdriverjs 的设置 我们想要在通过 selenium 打开的浏览器中传递数据 简单来说 我们希望在浏览器中执行任何类型的 Java
  • 匹配委托“system.eventhandler”没有重载

    由于我对 C 还很陌生 所以我很难理解下面的代码 当我单击 knop 按钮时 必须执行 klik 方法 该方法必须在表单上绘制由 DrawMandel 生成的位图 b 但我不断收到错误 匹配委托 system eventhandler 没有
  • 错误:#0 轴的数据列不能是字符串类型

    我正在尝试使用谷歌图表和 React JS 创建散点图 我制作了一个测试数组来检查这是否是将数据发送到图表的正确方法并且它有效 但是当我处理真实数据并创建一个类似的数组时 它给我带来错误 轴 0 的数据列不能是字符串类型 这是运行良好的测试
  • Visual Studio 2015 Enterprise 附带测试自动化工具?

    管理层正在研究自动化测试 我们的 QA 主管想知道 Visual Studio 2015 Enterprise 和 Team Foundation Server 2012 是否附带了任何自动化测试工具 据我所知 微软提供了一套工具作为一个单
  • 收到 fcm 推送通知时设置应用程序徽章

    我正在使用 FCM 进行云消息传递 当我在后台和前台应用程序状态下收到来自服务器的推送通知时 我想添加应用程序徽章 我缺少什么 主要问题是根据推送通知添加 更新 删除应用程序徽章 我可以接收和处理推送消息 我在这个问题上花了 3 天 请帮帮
  • Cordova 插件回调使用什么线程?

    方法在哪个线程中CallbackContext https github com apache cordova android blob master framework src org apache cordova CallbackCon
  • 如何判断鼠标指针是否位于贝塞尔曲线和直线定义的路径内?

    我有一条由多条贝塞尔曲线和直线段组成的闭合路径 如何判断鼠标指针的当前位置是在路径内部还是外部 Example of mouse leaving the area Example of mouse entering the area 首先