我正在尝试在 JApplet 上绘制交互式平面直线图(PSLG)。我使用鼠标单击来确定 PSLG 的顶点。
这是我用来绘制 PSLG 边缘的算法
1. 将用户执行鼠标单击的点添加为 PSLG 的顶点。
2. 如果他单击第二个点,则该点和先前单击的点之间直接创建一条边
以下是我因使用该算法而观察到的某些缺陷:
- 无法创建不相交的平面集,例如仅线段
- 仅当用户单击起点所在的确切位置时才会创建闭合多边形[本质上,如果用户单击非常接近起点,则无法判断该点实际上是起点,因为它出现在一定的公差范围内]。
我在这里检查了一些类似的问题,人们建议使用自由图表图书馆。但据我所知,这些问题的情况是 PSLG 的要点已经众所周知。不知是否自由图表可用于创建交互式 PSLG
我考虑过添加点并有一个按钮,该按钮会显示在点之间添加边缘,但如果是这种情况,选择 2 个点仍然会涉及 2 中遇到的邻近问题。
我想知道是否有人可以建议我更好的方法来处理这种情况。
提前致谢
GraphPanel http://sites.google.com/site/drjohnbmatthews/graphpanel可以适应这项任务,尽管它可能受益于更先进的边缘模型 http://en.wikipedia.org/wiki/Planar_straight-line_graph为了更快的搜索。还考虑JGraph http://www.jgraph.com/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)