在 Java Swing 中检查点是否在线

2023-12-05

我画了一条线,然后画了一个点,然后我想检查该点是否在线上。我在数组中获取了一条线坐标(因为有多条线)。我想检查最后一行的当前点吗?

if (positionX1 == positionX2 && positionY1 == positionY2) {
    float m = line.getSlope(
        drawLines[currentLines - 1][2], drawLines[currentLines - 1][3],
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    m = Float.parseFloat(df.format(m));
    float c = line.getIntercept(
        drawLines[currentLines - 1][2], drawLines[currentLines - 1][3],
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    c = Math.round(c);
    m1 = line.getSlope(positionX2, positionY2,
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    m1 = Float.parseFloat(df.format(m1));
    System.out.println(m + "   " + m1);
    c1 = line.getIntercept(positionX2, positionY2,
        drawLines[currentLines - 1][0], drawLines[currentLines - 1][1]);
    c1 = Math.round(c1);

    if (m == m1 && ((c == c1) || (c == c1 - 1) || (c == c1 + 1))) {
        System.out.println("Point is on Line");
    }
}

问题是当一个点靠近直线的起点或当一条直线大约垂直时 m1 和 c1 的值变化很大。所以,检测一个点是否在线上存在一个问题。我该如何检查这种情况?


Line2D.ptSegDist(x1, y1, x2, y2, xP, yP)如果点 (xP, yP) 位于从 (x1, y1) 到 (x2, y2) 的线段上,则返回 0.0。Line2D.ptLineDist对无限线做同样的事情。

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

在 Java Swing 中检查点是否在线 的相关文章

随机推荐

  • 正则表达式整个单词[重复]

    这个问题在这里已经有答案了 我觉得问这个问题有点傻 但从我读过的所有内容来看 这对我来说应该有效 但事实并非如此 我只是想使用正则表达式来匹配字符串中的整个单词 所以 如果我试图在句子中找到 the 这个词 它应该为 the Quick B
  • Azure Databricks python 命令显示当前集群配置

    我目前正在优化我们的 ETL 流程 并且希望能够看到处理数据时使用的现有集群配置 这样 我可以随着时间的推移跟踪我应该使用哪些工作节点大小 是否有一个命令可以在 python 中返回集群工作线程 和大小 以便我可以将其写入数据帧 您可以通过
  • 在 post 请求中将 JSON 传输到服务器

    服务器有两个参数 String and JSON 提示 正确我转移JSON和 POST 请求中的字符串 try HttpClient httpClient new DefaultHttpClient HttpPost httpPost ne
  • 清理extract_tables条件合并行,系统提取

    这是上一篇文章的后续内容 有条件合并行 我将这 1838 页长的所有表格都数字化了PDF文档使用 extract tables 来自tabulizer包 由于内存问题 我不得不逐页进行 for i in seq 1 1868 Locatio
  • Python Matplotlib 滑块小部件未更新

    我想使用多个包含数据 matplotlib 滑块小部件的 matplotlib 画布 问题是滑块小部件未正确更新 看起来鼠标事件未发送或其他 这就是我所拥有的 import matplotlib matplotlib use TkAgg f
  • 找到所有边的最小最高成本的算法是什么?

    我正在尝试解决一个问题 我需要找到从开始到目标节点的每一步的最小成本 我认为这个算法存在 但我找不到这个算法的名称 在我正在研究的情况下 只有积极的边缘 并且可能存在循环 它不是 dijkstra 的 因为我不是在寻找总的最小成本 而是在寻
  • 使用按钮更改 iPhone 应用程序语言,无需重新启动应用程序

    我想更改我的应用程序的语言 目前我正在按以下方式进行 我有两个按钮可以更改 NSUserDefaults 中的语言 但在这影响我的应用程序之前 我需要重新启动它 这是我的代码 IBAction changeDutch id sender N
  • 编码进度条建议

    在我的应用程序中 我正在解析 xml 文件并使用 xsd 架构验证内容 当 xml 文件变大时 需要一些时间来解析文件并验证内容 在这种情况下 我希望使用进度条可视化解析和验证阶段 这个怎么做 注意 我使用的是 Qt 和 C 基本上你只需创
  • 删除运行时正在使用的文件

    如何删除运行时某个进程正在使用 打开的文件 我在我的项目中使用 vb net 图像显示在图片框中 并且应该删除它 而不关闭该文件 如果该文件被另一个进程以独占模式打开 则您不能 Windows 不允许您这样做 在这种情况下 您能做的最好的事
  • 如何将软件包(例如 libjpeg-dev)自动加载到我的 Elastic Beanstalk 应用程序?

    我有一个运行 Python 的自动缩放 Elastic Beanstalk 应用程序 我想在其中使用 PIL 当我这样做时 它说我的 jpeg 解码器丢失 我需要安装 libjpeg 所以我在这里遵循AWS官方指南的 配置文件 http d
  • 为什么我的大型 JSF 数据表不只在 IE 中填充?

    我正在尝试使用 JSF 中的 HtmlDataTable 动态生成一个表 当我给出的行数和列数均大于 25 时 某些单元格仅在 IE 中不会填充 并且速度变得非常慢 但是 我可以在使用 Firebug 调试代码时看到该值 它在 Firefo
  • 如何在 webdriver (Python) 中打开新窗口或选项卡?

    我尝试过各种命令 例如 driver switch to window blank or driver switch to window None 但这些都不起作用 这应该怎么做 谢谢 经过大量的谷歌搜索后 我发现了 Firefox 中对我
  • 使用 Ruby On Rails 的多个用户模型,并设计有单独的注册路线,但有一个通用的登录路线

    首先 我在谷歌和雅虎上进行了大量搜索 并找到了一些关于我的主题的回复 但它们都没有真正涵盖我需要知道的内容 我的应用程序中有多个用户模型 目前是客户 设计师 零售商 而且似乎还会有更多 他们的表中以及网站上允许或不允许的几个区域中都存储了不
  • “git commit”出现意外行为。当预提交挂钩修改暂存文件时

    在我的经验中git commit a具有等同的行为git commit 但是 最近我创建了一个预提交挂钩 可以自动格式化我的源代码 现在git commit 有一些意想不到的副作用 提交命令完成后 提交的文件最终会在工作目录和索引中被修改
  • 为什么javascript的handleEvent方法可以访问省略事件参数的事件? [复制]

    这个问题在这里已经有答案了 根据MDN doc handleEvent方法有event作为它的单个参数 但是这个例子 Codepen html代码
  • 无法共同创建对象

    我在 net中创建了一个dll 并使用jacob从java程序中调用它 因为昨天我有Windows 7 32位操作系统 所以程序成功运行 现在我格式化并安装了Windows 7 64位操作系统 所以遇到以下错误 com jacob com
  • div 上的全角背景颜色

    我正在使用 1120px css 响应式框架 或者它可以在我需要时充当固定网格 我在 1120px 容器 div 内有一个 div 我想在其上应用全宽背景颜色 div 的背景颜色当然仅位于容器 div 内部 我想让它填充 body 元素的整
  • 如何计算形状相交的多边形数量?

    我有一个非常大的数据集 其中包含多边形和点 周围有缓冲区 我想在点数据中创建一个新列 其中包括点缓冲区相交的多边形数量 这是一个简化的例子 import pandas as pd import geopandas as gp from sh
  • 如何分析混淆矩阵?

    当我打印 scikit learn 的混淆矩阵时 我收到一个非常巨大的矩阵 我想分析什么是真阳性 真阴性等 我该怎么做 这就是我的混淆矩阵的样子 我希望更好地理解这一点 4015 336 0 0 0 2 228 2704 0 0 0 0 4
  • 在 Java Swing 中检查点是否在线

    我画了一条线 然后画了一个点 然后我想检查该点是否在线上 我在数组中获取了一条线坐标 因为有多条线 我想检查最后一行的当前点吗 if positionX1 positionX2 positionY1 positionY2 float m l