[comp.windows.x] need graph layout algorithms

cgraves@pyrps5.pyramid.com (Cameron Graves) (10/23/90)

I'm looking for some graph layout algorithms.  The crude cave drawing below
gives some indication as to what I would like to be able do.  Specifically,
given the antecedents (parents) and consequents (children) as well as
the depth(??) (as shown by the Patented Depth o' Meter) of each node,
layout the graph in as symmetric a fashion as the constraints allow.

What I need is something to determine the best position for each node,
the lines connecting nodes are just a SMOP.

The algorithm (or a clue as to where to find it) would be great, C code
would, naturally, be even nicer.  I will be implementing this using X11.

						      Patented
1-----2------3-------4-------5------6-----7    <--- Depth o' Meter

           __DD
          |  DD
    __BB__|
   |  BB  |
   |      |__EE______GG______KK_____MM__
   |         EE\    /GG\    /KK     MM  |
   |            \  /    \  /            |
AA_|             \/__HH__\/             |_OO
AA |             /\  HH  /\             | OO
   |            /  \    /  \            |
   |       __FF/____\II/____\LL__       |
   |      |  FF      II      LL  |      |
   |__CC__|                      |__NN__|
      CC  |                      |  NN
          |__________JJ__________|
                     JJ

(For clarity: nodes E, F, K, and L are all connected to nodes G, H, and I)

Please e-mail any responses unless you feel it is of enough interest
to warrant the bandwidth.

Thanks

--------------
Cameron Graves		Pyramid Technology				
(415) 335-8141		cgraves@pyramid.com