graph with nodes corresponding to arcs
g1 = arc_graph(g)
a directed graph (see graph_data_structure).
a directed graph
arc_graph
returns the directed graph g1
with the nodes
corresponding to the arcs of the directed graph g
.
g1
is defined in the following way:
- its nodes correspond to the arcs of g
- 2 nodes of the new graph are adjacent if and only if the corresponding
arcs of the graph g
are consecutive.
The coordinates of the nodes of g1
are given by the middle points of the
corresponding edges of g
.
If such an arc graph does not exist, an empty vector is returned.
//create the initial graph ta=[1 1 2 4 4 5 6 7 2 3 5 1]; he=[2 6 3 6 7 8 8 8 4 7 3 5]; g=make_graph('foo',1,8,ta,he); g.nodes.graphics.x=[281 284 360 185 405 182 118 45]; g.nodes.graphics.y=[262 179 130 154 368 248 64 309]; //customize display g.nodes.graphics.display='name'; g.edges.graphics.name=string(1:edge_number(g)); g.edges.graphics.display='name'; show_graph(g); //compute the arc_graph g1=arc_graph(g); g1.edges.graphics.name=string(1:edge_number(g1)); g1.edges.graphics.display='name'; g1.nodes.graphics.display='name'; show_graph(g1,'new'); // merge the two graph g1.nodes.graphics.colors(2,:)=color('red'); g1.edges.graphics.foreground(:)=color('red'); show_graph(graph_union(g,g1,%f),'new') | ![]() | ![]() |