【问题标题】:The algorithm for the alignment of arrows箭头对齐算法
【发布时间】:2022-08-11 19:35:17
【问题描述】:

我有块通过坐标(X,Y)锚定到一个地方。还有一些箭头现在正在从 A 块到 B 块的直线上建造,穿过其他块。

反过来,我在 A(x1, y1) 和 B(x2, y2) 之间添加了一个中间点 C (X1, Y2),这样箭头是正交构建的,但它仍然与其他块和箭头相交。

是否有任何现有的算法可以使箭头具有正交外观,而不与其他块相交,并且箭头彼此重叠(除了一个点的交叉点)?

该程序可以使用用 c# winforms 编写的流程图。

感谢您的回答。

    标签: c# winforms graph flowchart


    【解决方案1】:

    除了琐碎的情况外,不可能防止箭头在 2D 图表中重叠。这是通过绘制一个带有小半圆的重叠箭头来处理的,表示箭头“跳跃”在另一个上。

    为了避免积木,请考虑每个箭头通过包含障碍物(其他积木)的正交网格找到从积木 A 到 B 的路径。 A* 搜索算法将执行此操作 (https://en.wikipedia.org/wiki/A*_search_algorithm)。

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      • 2018-05-01
      • 2015-02-27
      • 2015-05-03
      • 2018-11-30
      相关资源
      最近更新 更多