2

I have a network schematic that I want to visualize automatically.

  • The schematic consists of tubes and intersection points.

  • Each tube contains within itself a number of smaller fibers.

  • Several tubes can be connected to an intersection point and inside this intersection point the internal fibers are interconnected among all the tubes of this intersection point.

Here is an example of a small network, with 3 tubes, each with 2 fibers meeting at an intersection point and the inner fiber connections at this intersection point.

enter image description here

I have attempted to use graphviz for this, by treating each tube as a single edge and ignoring the existence of internal fibers, once graphviz generates the layout I manually add the connections for the internal fibers. However often the placement of edges/vertices from graphviz leads to lots of crossings inside the intersection points, once I start to connect the internal fibers. (In the example above, it would have been better to place the middle tube vertically above the intersection point.)

Does anyone know if

  1. I could use graphviz or some other software to achieve a better layout taking into account the existance of internal fibers inside every edge and their connections in the intersection node.

  2. can point me to a paper/method that could be implemented for this scenario

digy
  • 2,663
  • 3
  • 19
  • 14
  • 1
    I don't know of any paper offhand, but it seems to me that this is basically the minimization of crossing number of graphs, which is most likely NP-complete. – starflyer Jan 11 '15 at 22:43
  • 1
    My first approach wold be to use the sowtware to position the fiber terminals inside each connection box. Then use a pcb electronis softwate to position the connection boxes. Each connection box is equivalnt to a xip. Then translate each external fiber cross to a connection box. – jbaylina Jan 15 '15 at 23:01
  • 1
    How about adding all the fibers as edges and using graphviz? For your example layout, something like this: graph { a -- b; a -- b; c -- b; c -- b; d -- b; d -- b; } – bsa Jan 19 '15 at 01:36
  • Also, maybe I don't understand the problem correctly, but it strikes me that by changing the internal connections in the center box in your example, you can eliminate crossings without changing the layout of the boxes. – bsa Jan 19 '15 at 01:41
  • @bsa, Thanks, I did not know you can define several edges between two vertices, I will try that. In my scenario the connections inside a vertex (intersection point) are fixed. For example I have, 1st tube, 1st fiber connects with 2nd tube 1st fiber and so on for all tubes and all fibers at every vertex (intersection point). I can not change these connections, I would like to make graphviz generate a layout that would be "friendly" to these inner connections. – digy Jan 21 '15 at 08:07
  • @jbaylina. Very interesting idea, I will give it a try. Can you tell me what you meant by - xip ? I can not find the meaning of this abbreviation w.r.t. pcb design. – digy Jan 21 '15 at 08:11
  • Sorry, Xip means Integrated circuit. (component) – jbaylina Jan 23 '15 at 09:56

0 Answers0