如何在处理中计算从 mouseX、mouseY 到矩形的距离()

2024-01-16

如果它是一个点的距离,那就是

dist(mouseX, mouseY, x, y)

for

point(x,y)

但我如何计算从鼠标当前位置到

rectMode(CORNERS);
rect(x1,y2,x2,y2);

Thanks


像这样的事情应该这样做:

float distrect(float x, float y, float x1, float y1, float x2, float y2){
  float dx1 = x - x1;
  float dx2 = x - x2;
  float dy1 = y - y1;
  float dy2 = y - y2;

  if (dx1*dx2 < 0) { // x is between x1 and x2
    if (dy1*dy2 < 0) { // (x,y) is inside the rectangle
      return min(min(abs(dx1), abs(dx2)),min(abs(dy1),abs(dy2)));
    }
    return min(abs(dy1),abs(dy2));
  }
  if (dy1*dy2 < 0) { // y is between y1 and y2
    // we don't have to test for being inside the rectangle, it's already tested.
    return min(abs(dx1),abs(dx2));
  }
  return min(min(dist(x,y,x1,y1),dist(x,y,x2,y2)),min(dist(x,y,x1,y2),dist(x,y,x2,y1)));
}

Basically, you need to figure out if the closes point is on one of the sides, or in the corner. This picture may help, it shows the distance of a point from a rectangle for different positions of the point: enter image description here

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

如何在处理中计算从 mouseX、mouseY 到矩形的距离() 的相关文章

  • Error processing condition on org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration

    spring boot启动时报如下异常 java lang IllegalStateException Error processing condition on org springframework boot autoconfigure
  • Snapdragon Neural Processing Engine SDK(教程)

    SNPE提供以下高级API DL Container Loader SNPE使用后缀为dlc的模型文件 xff0c 提供了模型load函数 xff1b Molde Vallidation 检查输入模型与所选择的运行后端是否合法 xff1b
  • Error parsing lifecycle processing instructions pom.xml /xxxxx Maven Project Build Life

    本机是windows7 64bit xff0c eclipse版本信息 xff1a Eclipse Java EE IDE for Web Developers Version Neon 3 Release 4 6 3 Build id 2
  • Error response from daemon: Error processing tar file(exit status 1): remove /hosts: device or resou

    2019独角兽企业重金招聘Python工程师标准 gt gt gt You cannot copy over etc hosts Docker provides the container with a custom etc hosts f
  • TF-IDF(term frequency–inverse document frequency)

    TF IDF term frequency inverse document frequency 是一种用于资讯检索 与资讯探勘 的常用加权技术 TF IDF是一种统计方法 用以评估一字词对于一个文件集或一个语料库 中的其中一份文件 的重要
  • Ubuntu下,dpkg安装出错的修复

    参考 http www khattam info 2009 08 04 solved subprocess pre removal script returned error exit status 2 error 我在ubuntu上安装l
  • 将数组传递给构造函数而不声明它?

    在处理中 我定义了以下类 class SomeClass SomeClass int someArray println someArray 现在我想创建该类的实例 但在将数组传递给构造函数时遇到问题 SomeClass myVar new
  • “星云”类不存在

    我在处理 3 3 时遇到问题 我刚刚开始开发一种星云模拟器 旨在模拟恒星从星云到红巨星的诞生和生命周期 到目前为止 我已经创建了两个类 Gas 针对每个单独的气体粒子 和 Nebula 指粒子的集合 我在编辑器中输入了以下代码 每次都得到相
  • 在 P5.js 中旋转网格内的对象

    我正在尝试使用合适的 OOP 方法来让对象在网格单元格内单独旋转 我当前的结果是围绕 0 0 参考点旋转所有对象 而不是每个对象在其自己的单元格内旋转 当然 需要的是一个正确的翻译函数 但是当我尝试在innerSquare函数中应用它时tr
  • 如何使用更少的 import 语句导入 Java 中的多个类? [复制]

    这个问题在这里已经有答案了 我对在 Java 中使用包还很陌生 我想知道是否有一种更简单的方法来使用更少的 import 语句导入类 我正在使用处理并且我已经开始使用用于处理的 Box2D创建一些游戏 为了使用该库 我必须将以下内容添加到我
  • 绘制到 p5.Image 而不是画布

    给定加载的 png 图像作为模板 我希望用户能够跟踪图像的元素 在 p5 中 这很简单 setup Load image var img loadImage image img 0 0 draw ellipse mouseX mouseY
  • 如何为 Arduino IDE 安装 openCV 库?

    我正在开发一个使用面部跟踪 对象跟踪 面部识别等的 Arduino 项目 为了实现这一目标 我决定使用 OpenCV 库 然而问题是 我不知道如何安装 Arduino 和处理的 OpenCV 库 谁能告诉我该怎么做 谢谢 如果您使用的是处理
  • 无法通过 USB 将计算机时间同步到 Arduino

    我想将时间从我的电脑同步到arduino 我正在使用他们的时间库 但它不起作用 如何让arduino与我的电脑上的时间相同 我目前使用的是Mac 他们的文件说 在unix系统上 可以使用shell命令设置时间 TZ adjust 8 ech
  • 处理中带有 Alpha 通道的视频

    我想知道是否有人可以出色地帮助我完成我正在做的事情Processing 我需要在实时源上播放带有透明度的视频文件 以便视频不仅仅是一个矩形 这是我认为需要添加或更改的代码部分 我对这一切都非常陌生 我非常感谢任何可以提供帮助的人 如果您的视
  • ArrayList中存储不同类型

    我想将元素存储在列表中 每个元素有4个参数 我正在尝试创建一个数组列表 为每个元素存储 4 个参数 它们是不同类型的 iD intx位置 浮动y 位置 浮动名称 字符串 I use ArrayList
  • Android - 处理构建未编译

    我在 IDE 处理方面遇到问题 我正在尝试将一些东西编译到Android 上 当然 我使用的是 Android 模式 但我在编译时收到此错误 这不是代码本身 我已经安装了 adb devices 看起来没问题 我已经完成了所有 51 and
  • 改变正方形相交区域的颜色

    这些天我正在做一个项目 我的目标是改变两个正方形相交区域的颜色 我已经编写了检测两个正方形相交的代码 但我不知道如何更改相交区域的颜色 请帮我解决这个问题 var sketch function p with p let squares l
  • 处理随机建筑绘图窗口问题

    我重新发布此内容是因为我第一次发布此内容时代码不正确 我已经把所有的事情都记下来了 看起来像这样 但它应该看起来像这样 任何帮助使窗户与建筑物对齐都会很棒 因为我对此很陌生 谢谢 int buildingHeights new int 12
  • 如何使用 Java 访问 Kinect?

    我目前正在学习计算机视觉课程 对于我的期末项目 我将制作一款与 Kinect 交互的小游戏 现在我想用 Java 制作这个游戏 因为我以前从未真正尝试过制作游戏 而且我对这种语言非常满意 但我似乎找不到一种方法来访问深度数据 我只需要将其打
  • 为什么在处理.org java pdf 导出时只显示一个框?

    下面是我的代码 在运行时它显示了我想要的多个框 但是当我尝试导出时 它只在该帧位置显示一个框 我尝试在特定帧生成输出 但它有同样的问题 import processing pdf int ofs 500 boolean record voi

随机推荐

  • 浮点按位运算的用处

    我注意到浮点存在 SSE 指令 这让我想知道 您可以对 fp integer union 中的标量执行相同的操作 我突然想到 如果对浮点数数组的各个分量进行按位或运算 则可以通过查看结果的符号位来快速确定它们中是否有任何一个为负数 浮点值的
  • 获取 TWIG 模板中的控制器名称

    我正在学习 symfony2 3 当我尝试在 twig 模板中获取控制器名称时出现错误 控制器 namespace Acme AdminBundle Controller use Symfony Bundle FrameworkBundle
  • Mac OS-X Mountain Lion 上的 GCC-4.2 错误,无法使用 pip / virtualenv 安装某些软件包

    我看到一个非常烦人的错误 我真的不知道如何处理 这似乎很常见 我几乎尝试了所有能找到的解决方案 但都无济于事 我正在尝试使用 pip 安装库 gevent psycopg2 和 greenlet 都遇到过这个问题 问题似乎是我的计算机找不到
  • 如何从服务器在 ViewPager 内的 VideoView 上播放视频

    我尝试开发一个应用程序从服务器检索视频并在 viewpager 内的 videoview 上播放 原始文件夹中的视频工作正常 但有两个问题 1 部分视频无法播放 或黑色活动显示 2 页面滚动时视频不停止 那么如何使用 URL 而不是 and
  • 如何在打开另一个 Javascript 下拉菜单时关闭另一个下拉菜单

    我不太熟悉 JavaScript 我希望能得到一些帮助来解决我似乎无法解决的问题 目前我的网站上有 2 个下拉菜单 一种是用于导航的下拉菜单 单击汉堡菜单图标时会激活该菜单 第二个下拉列表用于显示我网站上的类别 目前 当我单击一个下拉列表时
  • 检测浏览器缓存是否已满

    我们发现浏览器缓存已满是导致酒店后台出现问题的原因 它只影响我们的一小部分用户 但我们希望提醒他们该问题 并为他们提供一些如何自行解决问题的指导 我们希望使用与 GMail 使用的系统类似的系统 当它检测到您的浏览器缓存已满表现不正常时 它
  • Kafka中的延迟消息消费

    如何使用 Apache Kafka 生成 消费延迟消息 似乎标准 Kafka 和 Java kafka client 功能没有此功能 我知道我可以用标准的等待 通知机制自己实现它 但它看起来不太可靠 因此任何建议和良好实践都值得赞赏 Fou
  • Android Shake(Sensor) 服务,用于应用程序后台的震动检测

    我开发了一个具有晃动功能的应用程序 以便某些功能正常工作 因此我使用晃动类并实现了主活动 以便在应用程序运行时顺利工作 但我的问题是当我的应用程序进入睡眠或终止或停止时 如何检测背景震动 服务 我的摇摇班 public class Shak
  • 区别 - “e.preventDefault();”和“返回假;” [复制]

    这个问题在这里已经有答案了 有什么区别return false and e preventDefault e preventDefault 将防止默认事件发生并且return false停止传播
  • Android - Firebase 用户身份验证令牌会过期吗?

    我决定使用Volley并走 RESTful 路线Firebase因为当没有互联网连接时 他们的听众似乎会挂起 至少对于 Volley 它可以让我知道网络请求是否由于互联网连接而失败 我需要知道是否FirebaseUser身份验证令牌是否过期
  • 在基础对象中构造派生类型的对象

    vb net 中是否可以有一个方法来构造 bass 类中任何派生类的对象 在此代码中 x Clone 应返回一个 Bar 对象 这是使用两种不同对象类型在两个类中重复代码的唯一方法 Module Module1 Sub Main Dim x
  • .NET:我可以使用 DataContractJsonSerializer 序列化为 JSON 关联数组吗?

    使用时数据契约Json序列化器 http msdn microsoft com en us library system runtime serialization json datacontractjsonserializer aspx序
  • cellForRowAtIndexPath 返回 nil

    我正在尝试从表格视图中获取特定的单元格 以便我可以更改它的标签并停止活动指示器 我遇到的问题是cellForRowAtIndexPath返回零 我的表视图只有 1 行 Code id initWithNibName NSString nib
  • Android Thread.sleep 有时等待时间太长

    Edit 这里不是说精度问题 从下面的代码和日志可以看到 我请求休眠1秒 但结果差不多是200秒 有时会跳到600秒 这不可能是精度问题 我之前使用过 handlerthread 有时发布到处理程序的作业没有按时启动 为了获得更多详细信息
  • 如何在 Android 中以编程方式启动主屏幕 [重复]

    这个问题在这里已经有答案了 我想用我的应用程序启动 Android 的主屏幕 主要目标是当用户按下专用键时向用户显示所有应用程序 其实 方式并不重要 有想法这样做吗 这是启动 HomeActivity 的代码 Intent startMai
  • devDependency 会影响包大小吗?

    我仔细寻找 找不到这个问题的直接答案 执行我添加的软件包devDependencies实际上最终会出现在生产包 JS 文件中并从而影响其大小 或者只是dependencies进入捆绑包 不 它不会影响您的包大小 因为这些包仅在开发模式下使用
  • ActiveRecord 嵌套 SELECT

    我需要有关 SELECT FROM 嵌套 SELECT 的帮助 如何以 ActiveRecord 方式重写以下查询并获取 Relation 对象 SELECT candidates FROM SELECT candidates first
  • stringr、str_extract:如何进行正向后查找?

    很简单的问题 我只需要使用正则表达式正向查找捕获一些字符串 但我没有找到一种方法来做到这一点 这是一个例子 假设我有一些字符串 library stringr myStrings lt c MFG acme something else M
  • 具有重叠间隔时间序列的 groupby

    我在 python pandas dataframe 对象中有一个时间序列 我想根据索引创建一个组 但我想要重叠的组 即组不不同 header sec 是索引列 每组包含一个 2 秒的窗口 输入数据帧 header sec 1 17004
  • 如何在处理中计算从 mouseX、mouseY 到矩形的距离()

    如果它是一个点的距离 那就是 dist mouseX mouseY x y for point x y 但我如何计算从鼠标当前位置到 rectMode CORNERS rect x1 y2 x2 y2 Thanks 像这样的事情应该这样做