Is there a dual graph of a 3D tessellation suitable for modeling packed cells in a biological tissue? I'm a postdoc at Princeton university, working on a mathematical description and informatics of developing tissues based on microscopy images.
In the 2D sense, a tissue looks like in vertex models or like some tessellation / a honeycomb, in which each polygon is a single biological cell (no spaces between cells, they're all touching each other).
One of the things I'm trying to do is to study the adjacency relations between the cells by calculating the dual graph of the tessellation and running analyses on the induced adjacency matrix (in which each vertex is a cell and an edge exists between two neighboring cells).
My assumption is that in the 2D case the graph is planar.
My difficulty is in the 3D case, which is composed of many finite volumes (like in FEM I guess?). In this case "my intuitive understanding" of the 'dual' is a graph in which each vertex corresponds to a single volume (i.e. a biological cell), an edge between two vertices in the dual graph represents a shared wall/surface (a biological membrane) in the original graph, and a face in the dual graph will exist between vertices if the corresponding volumes/cells meet in a certain point.
Similarly to a planar graph in which no two edges can cross each other, here - in the 3D case - no two surfaces can cross each other.
The problem is that I wasn't able to find mathematical formulation for this kind of 'dual'... can you please address me to such literature / related keywords / algorithms?
Many thanks!
Tomer
 A: You can find quite a bit of a discussion and references in answers to this Mathoverflow question. However, that question only deals with dual complexes to triangulations, while you are interested in more general structures. 
Here is a definition in the degree of generality you are interested in. 
First one needs to a define a 3-dimensional tessellation. Start with a collection ${\mathcal D}$ of (bounded) 3-dimensional convex polyhedra ${\mathbb D}_k, k\in K$, where $K$ is an index set (possibly infinite). Each polyhedron in this collection has faces of various dimensions (for me, a face need not be 2-dimensional, for instance, vertices are 0-dimensional faces, edges are 1-dimensional faces, etc.). 
A  tessellation $T$ of a 3-dimensional manifold $M$ (just think of the 3-dimensional Euclidean space) modeled on ${\mathcal D}$, is a covering of $M$ by a union of (homeomorphic) copies $D_i$ (called "tiles") of the polyhedra ${\mathbb D}_k\in {\mathcal D}$ such that the following conditions are met:


*

*For every two tiles $D_i, D_j$, their intersection is either empty or is a face (of some dimension $\le 3$) of both $D_i$ and $D_j$. 

*Each point in $M$ is covered only by finitely many tiles. 
(Edit: More precisely, each compact subset in $M$ intersects only finitely many tiles.)
Note. Sometimes, one imposes further restrictions on $T$, for instance a uniform upper bound on the number of tiles covering points in $M$, finiteness of the set of model tiles ${\mathcal D}$, etc. 
Now, let's talk about the dual complex $T^*$ of $T$. This complex will be again a tessellation of $M$, but by copies of a different family of model polyhedral tiles. 
a. The vertices of $T^*$ are the 3-dimensional faces of $T$. Less formally, you can think of placing one point $v_i= D_i^*$ in the interior of every tile $D_i$. 
b. The edges of $T^*$ are the 2-dimensional faces of $T$. Less formally, you connect two (distinct) vertices $v_i, v_j\in T^*$ an edge whenever $D_i\cap D_j$ is a 2-dimensional face. (Note that this face is unique, see Condition 1.) Thus, every 2-dimensional face $F$ of $T$ results in an edge $F^*$ of of $T^*$. 
c. Each edge $E$ of $T$  corresponds to a 2-dimensional face $E^*$ of $T^*$ defined as follows. Note that $E$ defines a 1-dimensional dual cycle (of the combinatorial length $n=n(E)$)  in the dual graph that we constructed so far. The vertices of this cycle are the tiles in $T$ containing $E$. Now, you attach a 2-dimensional $n$-gon to each dual cycle as above. The result is a 2-dimensional complex, the union of faces of dimension $\le 2$ of $T^*$. 
d. Lastly, one can define 3-dimensional faces $V^*$ of $T^*$ dual to the vertices $V$  of $T$. This takes a bit of work, as you need to verify that each $V$ determines a 2-dimensional sphere (equipped with its own tessellation) in $T^*$ (defined so far): The vertices of this tessellated sphere are the tiles of $T$ containing $V$, the edges of this sphere are the 2-dimensional faces of $T$ containing $V$, etc. One needs to check that this complex is indeed a 2-dimensional sphere and that, moreover, it can be realized as the boundary of some convex 3-dimensional polyhedron (the latter is the content of the Steinitz’ Theorem). Furthermore, one needs to prove that the resulting polyhedral complex is a tessellation of the original manifold $M$. I will not do any this since, most likely, you do not care and it takes some effort. 
Example. If $T$ is a Voronoi tiling, the dual complex $T^*$ is the Delanay "triangulation" (not really a triangulation, but a polyhedral complex, of course). 
