在图节点之间绘制线条有哪些好的算法? [关闭]

2023-12-22

我特别要解决的不仅仅是图形的布局,而且当用户选择图形节点并开始在屏幕区域周围拖动它时,必须不断重新绘制线条以反映它的外观if用户要释放该节点。我想这是布局算法的一部分?

另外,有些应用程序有点花哨,不仅以漂亮的曲线方式绘制线条,而且还以几乎直角的方式围绕方形节点弯曲线条。请参阅附图并记住,当拖动节点时,线条将被绘制为行进的蚂蚁,并很好地重新排列,同时保留其弯曲样式。

替代文本 http://img260.imageshack.us/img260/5458/nodesr.png http://img260.imageshack.us/img260/5458/nodesr.png


如果你的图表不是非常完整,那么你不需要为此使用额外的奇特算法,而只需使用一些常识即可。

  1. 用矩形网格覆盖表面,然后找到一种方法,沿着网格线以最少角度连接到带有直线的盒子:如果盒子不在同一网格线上,并且您不关心连接的位置,则需要如果中间没有其他节点,则为一个角度。如果有例如您至少需要多一个角度的节点。

  2. 作为更完整图表的第二步,添加代码不仅可以优化最少的边数,还可以优化最小的线长度。如果您的图表不是非常完整,那么就应用程序响应而言,这应该很难被注意到。

  3. 为了获得额外的视觉效果,请考虑双腿的长度并检查与表面上其他物体的交叉点。我会使用 90° 圆饼并调整圆的半径(显然不是上面所做的)——对于较长的腿,半径应该更大。也许您正在使用的工具包可以在这里帮助您。

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

在图节点之间绘制线条有哪些好的算法? [关闭] 的相关文章

  • 从原点开始在离散 2D 网格上迭代向外螺旋的算法

    例如 这是预期螺旋的形状 以及迭代的每个步骤 y 16 15 14 13 12 17 4 3 2 11 18 5 0 1 10 x 19 6 7 8 9 20 21 22 23 24 其中线条是 x 轴和 y 轴 以下是算法每次迭代 返回
  • 检查有效的 IMEI

    有人知道如何检查有效的 IMEI 吗 我找到了一个可以检查此页面的功能 http www dotnetfunda com articles article597 imeivalidator in vbnet aspx http www do
  • 数独算法,暴力破解[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 添加边权重以在 networkx 中绘制输出

    我正在使用 networkx 包在 python 中做一些图论 我想 将图表边缘的权重添加到绘图输出中 我怎样才能做到这一点 例如 我如何修改以下代码以获得所需的输出 import networkx as nx import matplot
  • 如何求两个地点的经纬度距离?

    我有一组位置的纬度和经度 怎么找distance从集合中的一个位置到另一个位置 有公式吗 半正矢公式假定地球是球形的 然而 地球的形状更为复杂 扁球体模型会给出更好的结果 如果需要这样的精度 你应该更好地使用文森特逆公式 See http
  • LRU算法,实现这个算法需要多少位?

    我有一个关于 LRU 算法的小问题 如果您有一个包含四个块的高速缓存 那么需要多少位来实现该算法 假设您指的是 4 路组关联缓存 完美 LRU 本质上是按照使用顺序为每一行分配一个精确的索引 您也可以将其视为 年龄 因此 4 个元素中的每一
  • 当给定块大小时反转单链表

    有一个单连接链表 并给出了块大小 例如 如果我的链表是1 gt 2 gt 3 gt 4 gt 5 gt 6 gt 7 gt 8 NULL我的块大小是4然后反转第一个4元素 然后是第二个 4 个元素 问题的输出应该是4 gt 3 gt 2 g
  • 重写修改后的 goto 语义的算法

    我有一大堆使用旧的自行设计的脚本语言编写的遗留代码 我们将它们编译 翻译成 javascript 该语言有条件跳转 跳转到标签 与普通 goto 语句的区别在于 不可能向后跳转 该语言中没有嵌套的 if 语句或循环 由于 javascrip
  • 如何在 MATLAB 中绘制 3D 曲面图?

    我有一个像这样的数据集 0 1 0 2 0 3 0 4 1 10 11 12 13 2 11 12 13 14 3 12 13 14 15 4 13 14 15 16 我想在 matlab 中绘制 3D 曲面图 使列标题位于 y 轴 行标题
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 求先递增后递减列表的最大值和最小值

    我尝试用谷歌搜索这个问题 但没有取得太大成功 我确信这个问题或类似问题有一个技术名称 但我似乎找不到答案 给定一个列表L整数 即严格递增 然后严格递减 找到该列表的最大值和最小值 例如 L可能 1 2 3 4 5 4 3 2 or 2 4
  • 贝尔曼福特算法可以有任意的边顺序吗?

    我刚刚开始学习新算法 但当我阅读 极客为极客而写的贝尔曼福特算法 时 我陷入了困境 http www geeksforgeeks org dynamic programming set 23 bellman ford algorithm h
  • 在 NetworkX 中使边缘更粗

    student id 0 1 2 3 4 5 6 7 8 9 10 11 12 0 131X1319 1 14 6 16 1 10 8 15 15 17 15 18 16 1 13212YX3 1 1 4 8 11 9 14 7 0 3 0
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 为什么 Dijkstra 算法使用减密钥?

    Dijkstra 教给我的算法如下 while pqueue is not empty distance node pqueue delete min if node has been visited continue else mark
  • 用于查找最近邻居的空间划分算法如何工作?

    为了找到最近的邻居 空间分区 http en wikipedia org wiki Nearest neighbor search Space partitioning是算法之一 它是如何工作的 假设我有一组 2D 点 x 和 y 坐标 并
  • JpGraph:使用 AccBarPlot 时如何控制 v3.5.0b1 中的 x/y 偏移、边距和颜色?

    一点背景 我正在尝试将使用 Symfony 1 2 构建的项目从一台服务器迁移到另一台服务器 该项目的功能之一是构建图表 最初使用 JpGraph 2 3 5 完成 如果不修改代码 该图表不会按预期显示 我正在寻找一些关于我可能忽略的内容的
  • 密文窃取算法 - 哪一种是正确的?

    网络上提出了两种算法 在这两种算法中 第一部分是相同的 1 Pad the last partial plaintext block with 0 2 Encrypt the whole padded plaintext using the
  • 大 ר 符号到底代表什么?

    我真的很困惑大 O 大 Omega 和大 Theta 表示法之间的区别 我知道大 O 是上限 大 Omega 是下限 但是大 theta 到底代表什么 我读过这意味着紧束缚 但是 这是什么意思 首先我们来了解一下什么是大O 大Theta和大

随机推荐

  • 为传单设置 SRID - Geodjango

    我的 Postgres 数据库中有 31277 投影的数据 无论如何 我正在使用 Leaflet 地图来向他们展示 Geodjango 现在 我的数据已移动到地图中的某个位置 因此我需要更改 Leaflet 地图的投影 在文档中 http
  • Heroku 计费测功机到底如何工作?

    我试图了解 Heroku 定价系统 好的 免费帐户每小时可获得 1000 dyno dyno hour 的确切含义是什么 这取决于什么 每秒请求数 用户数量 如果我想切换到非睡眠优惠 我必须为每个 dyno 支付 7 美元 那么 1000
  • 友元函数未在此范围内声明错误

    您好 我试图了解友元函数的范围 但出现 未在范围内声明 错误 这是我的代码 node h class Node public int id int a int b friend int add int int void itsMyLife
  • 在 Python 3 中使用 xlsxwriter 交替行颜色

    有人在Python3中使用xlsxwriter生成excel时实现了交替行颜色吗 data format workbook add format bg color FFC7CE worksheet write data row data c
  • vim 系统寄存器 * 和 + 不起作用

    echo has clipboard 返回 1 但每当我执行 yy or yy 那些寄存器中似乎什么也没有 如果我使用常规yy复制另一行文本 然后尝试使用从寄存器粘贴CONTROL V什么都没发生 如果我尝试 pvim 粘贴我使用常规复制的
  • Linux 的 Windows Beep() 等效项

    我正在Windows上试验Beep功能 include
  • Laravel 创建方法

    我正在尝试使用 Laravel 存储数组create method input Input all new media this gt media gt create input or input Input all new media M
  • 为输入字段注册自定义焦点事件处理程序的最佳实践

    遗憾的是 我没有找到任何焦点事件sap m Input or sap m TextArea我可以在 XML 视图中注册处理程序 您的最佳实践是什么 例如如果你有近 100 个字段并且其中大部分应该处理focus 事件 以便自动选择输入字段中
  • 转换为具有指定小数位数的小数

    有没有办法将一个数字转换为具有指定小数位数的小数 我试过 SELECT CAST NumericField AS NUMERIC 15 DecimalPlaces AS NumericField 但这没有用 EDIT 我写错了NUMBER代
  • Chrome 开发者工具 - (索引)样式表在哪里?

    我正在修改一个基于 WordPress 的网站的主题 新主题再具体一点 虽然我改变了主题选项 style css文件和custom css文件 我无法更改链接的颜色 然后我使用 Chrome 的开发者工具来检查我的规则在哪里被覆盖 最重要的
  • 如何在Web Core API中调试启动?

    我有一个使用 Web Core API 的 MVC 网站 在进行了微小的更改和部署后 我意外地收到了错误 响应状态代码不表示成功 500 内部服务器错误 所以我启用了 Web Core API 的日志文件 请参阅https learn mi
  • ASP.NET MVC 应用程序中的数据操作和业务逻辑代码应该放在哪里?

    观看了 Rob Conery 的 Kona 应用程序的示例后 我发现他在 IoC 中使用了两个东西 ISession 其中有数据层代码和服务 其中有一些我们在操作数据存储中的数据时需要执行的附加业务逻辑 例如 我们可能不仅向数据库添加一条记
  • PHP 中的简单 BBparser 可让您替换标签之外的内容

    我正在尝试解析表示源代码的字符串 如下所示 code lang html lt div gt stuff lt div gt code div stuff div 正如你从我之前的 20 个问题中看到的 我尝试使用 PHP 的正则表达式函数
  • 向 Woocommerce 3.0 添加股票期权

    我正在尝试将自定义 stock status 添加到 WordPress 中的 woocommerce 3 0 中 最终目标是在产品编辑页面上添加第三个库存选项 暂停 并在产品页面上显示该库存状态 以前我可以使用这里的方法 在 woocom
  • 由于 CPU 类型的原因,C++ Boost 多线程比单线程慢?

    我之前发布过一些boost多线程 这次我只是好奇和失望 因为我认为多线程应该比单线程更快 两个线程是 FILE I O 读取 解析 CSV 数据 当我使用多线程时 每台来自 DELL DESKTOP OPTIPLEX 745 的 PENTI
  • PHP 7.2 count() 函数不起作用

    我有一个正在运行的 php 应用程序 它在 php 7 0 版本上运行良好 但是当我将 php 版本升级到 7 2 时 我收到此错误 count Parameter must be an array or an object that im
  • 使用 Subversive 时出现 Eclipse 错误

    我正在关注此处说明 http www headfirstandroid com p guide importing projects from google html获取存储库Head First Android 我已经安装了Subvers
  • 如何在 Angular 应用程序的 Karma 测试中模拟 Firebase

    通过遵循 AngularFire 指南 我已将作用域变量与 Firebase 数组同步 我的代码与教程基本相同 第5步 https www firebase com docs web libraries angular quickstart
  • 是否可以将 git diff 等同于 go-git

    我每 10 秒拉一次存储库 并且需要检查每次拉后哪些文件发生了更改 可以用 go git 做到这一点吗 您可以使用 object Commit 补丁 https godoc org gopkg in src d go git v4 plum
  • 在图节点之间绘制线条有哪些好的算法? [关闭]

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