Great thanks, this is working a lot better now...
Comments (really just some boundary cases):
1. If two vertices have the same location before the layout is called, they
will have the same location after the layout is finished.
2. If _all_ the vertices have the same location, then there is an infinite
loop (see 3).
3. I know you recommend calling circle_layout before calling the spring
layout, but since this layout algorithm is very dependant on starting
positions I think you will find this won't produce great results... In fact
calling the spring algo several times in succession shows it gets "better"
(in my project I animate the movement after each iteration), I will be
playing with the "Done" rules over the next couple of days and will report
back findings (if any are of interest).
Again thanks for your work - I am comparing this spring layout against my
spring layout and also against "neato" (which I can't animate) from the
graphviz project.
Gordon.
"Doug Gregor"
On Aug 18, 2004, at 10:51 AM, Gordon Smith wrote:
Thanks for all your timley responses btw...
I've rewritten the termination check to be a whole heck of a lot smarter [*], and it seems to work nicely now for the graphs I've tried. The code is in CVS; I hope it works better for you, and thank you very much for the test cases.
Doug