A rotation system is an ordering of neighbours around each vertex that defines a particular embedding of the graph in the plane.
For example, below is the rotation system of a plane graph.
1: 2->3->4->6
2: 1
3: 1
4: 1->5
5: 4->6
6: 1->5
The rotation system specifies the four neighbours of vertex 1 are 2 then 3 then 4 then 6 in clockwise order. We can draw following plane graph by this rotation system. We care about the labels of the vertices of the graph that we draw.
Below is the same planar graph as above, but with a completely different system rotation.
When I run follow codes in Mathematica, I saw that it returned a planar graph that matched the rotation system above if we don't care about clockwise or counterclockwise.
PlanarGraph[{1 \[UndirectedEdge] 2, 1 \[UndirectedEdge] 4,
1 \[UndirectedEdge] 3, 4 \[UndirectedEdge] 5, 5 \[UndirectedEdge] 6,
6 \[UndirectedEdge] 1}, VertexLabels -> Automatic]
But if I change the order of the edges in the function PlanarGraph, the plane drawing returned may not conform to the rotation system. (The plane drawing returned is really bad.)
PlanarGraph[{1 \[UndirectedEdge] 2, 6 \[UndirectedEdge] 1,
1 \[UndirectedEdge] 4, 5 \[UndirectedEdge] 6, 1 \[UndirectedEdge] 3,
4 \[UndirectedEdge] 5}, VertexLabels -> Automatic]
I am sure how to get the plane drawing consistent with the rotation system, instead of randomly trying to adjust the order of edges in PlanarGraph. What are the guidelines for labelling the plane graphs returned by Mathematica?
In the case of a three-connected graph, the situation appears to be improved, as demonstrated in the following illustration:
below is the rotation system of a 3-connected plane graph.
1: -> 2 -> 3 -> 6 -> 5
2: -> 4 -> 3 -> 1 -> 5
3: -> 1 -> 2 -> 4 -> 6
4: -> 2 -> 5 -> 6 -> 3
5: -> 1 -> 6 -> 4 -> 2
6: -> 1 -> 3 -> 4 -> 5
We can draw following plane graph by this rotation system.
When I run follow codes in Mathematica, I saw that it returned a planar graph that matched the rotation system above.
PlanarGraph[{1 \[UndirectedEdge] 2, 1 \[UndirectedEdge] 3,
1 \[UndirectedEdge] 6, 1 \[UndirectedEdge] 5, 2 \[UndirectedEdge] 3,
2 \[UndirectedEdge] 4, 2 \[UndirectedEdge] 5,
4 \[UndirectedEdge] 3, 3 \[UndirectedEdge] 6, 4 \[UndirectedEdge] 5,
4 \[UndirectedEdge] 6, 5 \[UndirectedEdge] 6},
VertexLabels -> Automatic]
But if I change the order of the edges of the PlanarGraph, The plane drawing always seems to conform to the rotation system, regardless of whether clockwise or counterclockwise.
PlanarGraph[{1 \[UndirectedEdge] 6, 3 \[UndirectedEdge] 6,
5 \[UndirectedEdge] 6, 2 \[UndirectedEdge] 3, 4 \[UndirectedEdge] 3,
4 \[UndirectedEdge] 5, 2 \[UndirectedEdge] 5,
2 \[UndirectedEdge] 1, 1 \[UndirectedEdge] 5, 2 \[UndirectedEdge] 4,
1 \[UndirectedEdge] 3, 4 \[UndirectedEdge] 6},
VertexLabels -> Automatic]
Note, however, that the order of vertex neighbors is the same as above if rotated counterclockwise.