# Marching tetrahedra (or cubes) on a non-orthogonal 3D grid

I have data for points of a 3D grid. The points of the grid are generated from three nonorthogonal vectors: each grid point has coordinates $\mathbf{q}_{ijk} = i \mathbf{a} + j \mathbf{b} + k \mathbf{c}$, where $\mathbf{a}$, $\mathbf{b}$ and $\mathbf{c}$ are nonorthogonal, noncoplanar vectors. (In cristallography, it's called a triclinic system)

So, my question is: how would you adapt the marching tetrahedra (or marching cubes, if easier) to this case? Has this been treated already somewhere, is there software for that (I haven't found any).

-

Nothing in Marching Cubes (or Marching Tetrahedra, AFAIK) actually requires that the grid be cubical or even orthogonal; the algorithms are inherently topological (or arguably, combinatorial) in nature. The heart of Marching Cubes is really just a table matching the $2^8$ combinations of positive/negative function values at the cube corners to a set of topological triangulations that are consistent with the 'simplest' isosurface of a function taking on those values (e.g., when only one vertex is positive we have a single triangle, with vertices along the three edges connecting the positive vertex to its neighbors), and those triangulations are invariant under linear transformations - which is all your skewed grid represents.