需要帮助..
我有一个组织布局,其矩形形状不在有序网格中.如果是网格,我会使用A-star代码.因此,如何在不干扰节点(矩形)之间的情况下连接两个节点(即两个矩形).
我只希望算法找到将绘制路径的坐标,以便可以在生成SVG文件时使用它.
最佳答案
我遵循的算法-
>存储所有矩形的边缘坐标,即左边缘,
右,上,下四个数据集.
>遵循从RectangleA上的点到RectangleB上的点的路径.
>查找与路径相交的第一条边(根据坐标计算得出的结果,发现无法与路径相交的偏斜边,并在找到相交边时将其消除).
>找到第一个相交点后,将从PointA到PointB的路径更改为PointA到相交点,然后将沿相交的边生成的路径更改为从该点到B的路径.
>重复点3 n 4直到指向PointB的路径完整而不与任何边相交.
即使没有给出最短的路径,我也实现了该算法.这给出了很大的输出.如果有人请求,我想共享Java代码,因为我发现很难解释上述几点的实现方式.