做一个算法演示的图,如果想把节点定为一个个随便的的button或者static,问题是:
1.如果用户只输入节点和路径,要怎么画出来?就是比如节点1在节点2的左边还是右边,左边多少度位置?
2.如果图有很多的节点,在一个屏幕上显示不下怎么办?要滚动鼠标的话,每个节点都要移动,这样是不是麻烦?大家如果有过类似的经验,给个思路就多谢了。

解决方案 »

  1.   

    1. 保证所有的点能组成凸多边形就OK了. (记得图论中有讲怎么保证一个多边形是凸多边形的, 你都是搞算法的, 这个应该很容易找)2. 你把生成的图形放到本身支持scroll功能的view上, 就不需要自己去计算滚动,重画之类的了.
      

  2.   

    CSDN的资源上应该有一个资源名叫“GRAPH”,就是图算法的演示软件,如果你下不到,我这里有,传给你。不过没有源码,只有成型的软件,一次下来只是为了图算法研究的,可以算最短路。
      

  3.   


    我知道你的意思了,多谢多谢。
    不过这样下来,就要翻出图论的一些定理来了,而且搞出这个,可以做2个论文题目了。哈哈哈。况且这样画出来的图和用户想得到的不一样,还不如这样搞:
    用户鼠标点到屏幕处就生成一个button或static节点,这样节点生成完后,用户给出路径。
    这样的话很方便很直观,而且不需要精确。
      

  4.   


    多谢多谢。可是我做的东东是知道最短路后,然后算一些问题的最优点,最终把所有不同类型的问题统一到一个问题里面。
    如何显示界面只是个想法,并不一定要求我来做。我想还不如这样搞:
    用户鼠标点到屏幕处就生成一个button或static节点,这样节点生成完后,用户给出路径。
    这样的话很方便很直观,而且不需要精确。就是一个简单直观,如果太复杂的话,也就不搞了。