jungrapht-visualization icon indicating copy to clipboard operation
jungrapht-visualization copied to clipboard

Orthogonal Layout

Open tomnelson opened this issue 6 years ago • 2 comments

Develop an Orthogonal layout algorithm. Get rid of the legacy orthogonal edge drawing code, replacing it with articulated edges drawn using the same approach as the Sugiyama layout.

tomnelson avatar Apr 10 '20 12:04 tomnelson

Must it be something like this: https://arxiv.org/abs/1807.09368? I'm not familiar with Orthogonal layout but algorithm in the article doesn't look hard and it seems that I can implement it.

SemyonSinchenko avatar Apr 27 '20 11:04 SemyonSinchenko

That would be a fantastic contribution. I have looked at that paper. I believe that routing the edges is the most challenging part. It may be similar to the way circuit board paths are defined. http://users.monash.edu/~mwybrow/papers/wybrow-gd-2009.pdf Once the edge endpoints and articulation points are defined in layout space, they can be drawn using the same technique I used for the Sugiyama layouts: translate the articulated edge to the origin, make it length '1', then the edge rendering code will scale/translate/rotate the edge so that it connects the endpoints.

tomnelson avatar Apr 27 '20 12:04 tomnelson

Update: I've made several attempts to implement the layout algorithm in the linked paper (https://arxiv.org/abs/1807.09368) My first steps were to just lay out the vertices and not route edges yet. I am not happy with the results I get with my implementation. Is anyone interested in looking at the approach?

tomnelson avatar Mar 13 '23 15:03 tomnelson