## Visualizing polyhedra from their 1-skeletons

Except for a few simple cases (typically pyramids and prisms) I find it hard to visualize a polyhedron from its 1-skeleton embedded in the plane, e.g. the hexahedral graph 5, as can be seen here.

Tools that are able to take an arbitrary polyhedral graph as input and draw the corresponding polyhedron perspectively will most surely rely on an abstract representation of the graph, e.g. by its adjacency matrix. From this abstract representation - presumably - they will also draw the embedded version of the graph (without edges crossing).

I am interested in the underlying algorithms and/or heuristics of

1. drawing the embedded graph from the adjacency matrix

2. drawing the polyhedron from the adjacency matrix

3. drawing the polyhedron from the embedded graph

4. drawing the embedded graph from the polyhedron

Computer programs will most certainly deal with (1) and (2) while humans typically have to solve problems (3) and (4).

I guess that experts have some mental techniques to visualize a polyhedron from looking at its 1-skeleton.

Can these techniques be described, made explicit, and taught?

[Side question: If anyone could give me a visualization of the hexahedral graph 5, I would be thankful.]

-
Hexahedral graph 5: Take a tetrahedron, glue on one of its faces another tetrahedron and on that one a third tetrahedron, such that the three tetrahedra have one edge in common. Visualisation worked for me because I recognised the graph of the tetrahedron in the heahedral graph. This may be part of a technique. – Markus Redeker Jan 21 at 11:44
@Hans: The way you write "*the* polyhedron" suggests you might be forgetting that these graphs are realized by an infinite variety of combinatorially equivalent polyhedra. – Joseph O'Rourke Jan 21 at 13:18
@Joseph: I was thinking of something like a "prototype". (Of course one can distort a given polyhedron, but basically they are all the same, aren't they?) – Hans Stricker Jan 21 at 13:35
@Hans: Yes, they are all "the same" in the sense of being combinatorially equivalent. But their visual representations can differ drastically. – Joseph O'Rourke Jan 21 at 14:11

In response to the request for "a visualization of the hexahedral graph 5":

Just to illustrate the point that there are multiple realizations of any polyhedral graph:

-
It took me a second, but finally I recognized the polyhedron Markus described in his comment (the shared edge fading away in the background). One can describe it another way: take a tetrahedron and make two bends along one edge. – Hans Stricker Jan 21 at 13:39
@Joseph: Your last example convinced me definitively. Now I see what you mean. Thanks a lot. Should I relax my question and write "*an* exemplary polyhedron" instead of "*the* polyhedron"? – Hans Stricker Jan 21 at 17:13
@Hans: It is an interesting question to find a "natural" realization, perhaps most symmetric. The graph-drawing community has studied this intensively. Just finding some realization is already interesting (and difficult, I think). – Joseph O'Rourke Jan 21 at 18:01
See also this answer to another question of Hans: mathoverflow.net/questions/120597/… – Joseph O'Rourke Feb 3 at 14:54

It should be noted that the adjacency matrix does not uniquely determine the polyhedron. In fact, the small stellated dodecahedron and the great icosahedron have the same adjacency matrix, but are not combinatorially equivalent.

-

For your question (1), there is an efficient algorithm [1] known for finding an embedding of a graph in the plane if an embedding exists.

This, however, might not be the end of the story. You may want to get an embedding where every edge is a straight line segment. It is known that such an embedding always exists if there is an embedding and there are no duplicate edges, this is called Fáry's theorem In fact, such an embedding can also be found with an efficient algorithm [2].

Your question (3) is turning a planar embedding to a polyhedron embedded in the space. This has an easy special case: namely if all faces of the planar embedding are triangles and all edges are straight segments. In this case, you can get a polyhedron embedding by slightly bending the plane so you get a sphere with a large radius, then fixing the vertexes and straightening the edges and faces. I believe but I'm not sure that this can be extended to the case when there is one or two faces that are not triangular, but there might not be such an easy method in the general case.

As for (4), if you start from a convex polyhedron, you can get a planar embedding, not necessarily with straight edges, by first projecting the vertexes and edges of the polyhedron to a sphere inside the polyhedron, then projecting that sphere to the plane.

[1] John Hopcroft, Robert Tarjan, "Efficient Planarity Testing", Journal of the Association for Computing Machinery, 21/4 (1974), 549, scanned copy at http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/Planarity%20testing.pdf

[2] Walter Schnyder, "Embedding planar graphs on the grid", SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms, (1990), 138-148, scanned copy at http://departamento.us.es/dma1euita/PAIX/Referencias/schnyder.pdf , ISBN:0-89871-251-3. Abstract: "We show that each plane graph of order n ≥ 3 has a straight line embedding on the n − 2 by n − 2 brid. This embedding is computable in time O(n). A nice feature of the vertex-coordinates is that they have a purely combinatorial meaning."

-