When extending the face-planes of a regular Octahedron, how many cells (bounded and unbounded) are formed in space?

  • $\begingroup$ Brilliant puzzle! So deceptively difficult: at first glance it seems like it should be a trivial geometry exercise, but it's really hard to visualise the problem well enough to figure out the solution. I've spent more than 30 minutes struggling with this, and might have to leave it for some 3D modelling guru. $\endgroup$ Commented Jul 15, 2020 at 22:06
  • $\begingroup$ @msh210 - yes, it is a regular octahedron, I added it - thanks for that comment. $\endgroup$
    – ThomasL
    Commented Jul 15, 2020 at 22:12
  • $\begingroup$ Does the octahedron itself count as one of the cells? $\endgroup$ Commented Jul 15, 2020 at 22:58
  • $\begingroup$ What's the definition of "extending face planes"? How is each triangular face modified (Divided to N smaller triangles in 2d? Replaced with a 3 sided pyramid? Extended to an infinite plane? Something else?) $\endgroup$
    – G0BLiN
    Commented Jul 16, 2020 at 10:27

3 Answers 3


(No spoilers for most of this; they'd be too clumsy. There are a few "diagrams", if you can call them that, and I've spoilered those. The rest will only spoil things for you if you read it carefully.)

Let's say our octahedron's vertices are at the six points in space with one coordinate $\pm1$ and the others $0$. Consider what a horizontal slice $z=\textrm{constant}$ looks like. At height $0$, of course it's just a square (with all its edges turned from line segments into lines), so we see 9 cells there, one bounded and the others unbounded. As we move up a little, between height $0$ and height $1$, the edges of that square "split" -- there's one square that gets larger as we move upward, whose edges come from the faces below $z=0$, and one that gets smaller as we move upward, whose edges come from the faces above $z=0$. At any such height we see 25 cells. Nine of them are the same 9 cells we saw at $z=0$ and the others are new. Similarly, as we move downward between $z=0$ and $z=-1$ we have 25 cells meeting each horizontal plane; nine of these are again the same as the ones at $z=0$ and the others are new (and not the same as the new ones at positive $z$). Returning to our upward sweep, the only new thing happens at $z=1$. Here, our central cell shrinks down to zero size so that at $z=1$ exactly we have only 16 cells, which are of course 16 of the same 25 we had for smaller $z$. Then as $z$ increases past $1$ we once again have 25 cells (and this clearly persists for all larger $z$ in the obvious way); again, 16 cells are the same as the ones at $z=1$ and the rest are new. Similarly for negative $z$. The one thing that isn't yet clear, if you've followed all that, is what overlap if any there is between the cells at large (let's say positive) $z$ and the cells at $z=0$. Answer: only the four corner ones.

The following little diagrams may (or may not) help. At large negative $z$ we have


and as we approach $z=1$ the central cells get "squeezed" leaving only


after which replacements for them appear:

A B c D E
F G h I J
k l m n o
P Q r S T
U V w X Y

Now as we approach $z=0$ the "B and D columns" and "F and P rows" get squeezed out instead, so that at $z=0$ we have only this:

A c E
k m o
U w Y

Then, between $z=0$ and $z=1$, all of the above happens in reverse.

Putting all this together, we have:

$25-16=9$ cells at large negative $z$ that aren't present at $z=-1$; $16$ cells that are present at $z=-1$; $25-16=9$ cells at intermediate $z$ that aren't present at $z=-1$; nothing new at $z=0$. That's 34 cells so far. We have the same things at positive $z$, so 68 cells, but now we've counted the nine present at $z=0$ twice so the actual number is 59.

(There is every chance that I have made an error in my bookkeeping, but I'm pretty sure about the geometry.)

Since this is fiddly and there's another answer giving a different number, I did a little computerized check. Not guaranteed to give the right answer but I'd be awfully surprised if it didn't.

import itertools, math, random
def sign(x):
  if x<0: return -1
  if x>0: return +1
  return 0
# we represent points by (x,y,z) and planes by (a,b,c) meaning ax+by+cz=1
planes = list(itertools.product((-1,+1),(-1,+1),(-1,+1))
def side(pt, plane): return sign(sum(x*c for (x,c) in zip(pt,plane))-1)
def same_side(pt1, pt2, plane): return side(pt1, plane) == side(pt2, plane)
cells = [] # actually a list containing one point from each cell
def in_new_cell(pt):
  for other in cells:
    if all(same_side(pt, other, plane) for plane in planes): return False
  return True
for i in range(10000):
  pt = tuple(4*(random.random()-0.5) for i in range(3))
  if in_new_cell(pt): cells.append(pt)

When I run this, it does in fact print out the number I give above.


My first answer was wrong for 3 independent reason. Fixing these my new answer is

59 cells, just as Gareth said.


There is the center. 1.
There are 8 tetrahedra on each face. +8.

The rest are unbounded cells delimited by the 8 planes of the faces.
These can be counted by checking how many regions the planes cut on the surface of a large enough sphere around the octahedron.

An octahedron is defined by 4 sets of parallel planes.
The first 2 planes cut the surface of the sphere in 3 regions.
The next 2 planes intersect the 2 previous planes. They cut a total of 10 regions, two "square" regions on opposite sides and 8 regions between them.
The 3rd set of 2 planes intersect twice each of the previous planes. They cut as many new regions as there are intersections. That is 2x2x4 = 16 more regions.

At that point there are 10+16 = 26 regions. This is exactly the number of apparent pieces of a Rubik's cube. This is not a coincidence. The pieces of a Rubik's cube are also the result of 3 pairs of parallel cuts.

The last 2 planes cut all 6 planes twice each. It actually doesn't matter how. There are as many new regions as there are intersections. That is 2x2x6 = 24 more regions.

That makes a total of 10 + 16 + 24 = 50 regions cut on the surface of a large sphere around the octahedron.

If you add it up you get:
1 + 8 + 10 + 14 + 26 = 59 cells.

  • $\begingroup$ +1 for your answer as well $\endgroup$
    – ThomasL
    Commented Jul 16, 2020 at 18:24

I see this has been well-solved, but I have a different kind of solution that I used to find the answer fully in my head with little visualization. The idea is to convert everything from geometry to coordinate algebra.

(No spoiler tags because this is already solved.)

Each face of the tetrahedron is opposite a parallel face, so we can group its 8 faces into 4 groups of 2 parallel planes. Each group of two parallel planes divides space into 3 regions, one in between and two on either side. So, all 4 groups divide space into at most $3^4=81$ regions. We'll figure out which combinations are present.

Turning to coordinate algebra, the eight planes of a tetrahedron are given by equations of the form $\pm x \pm y \pm z =1$. The equations of opposite faces have the left-hand-sides as negations of each other, so we can flip one by negating the right-hand-side to group the equations as:

$$\begin{eqnarray} + x + y + z &= \pm 1 \\ + x - y - z &= \pm 1 \\ - x + y - z &= \pm 1 \\ - x - y + z &= \pm 1 \\ \end{eqnarray}$$

The planes of each equation divides spaces into 3 regions depending on whether its left-hand-side is in $(-\infty, -1)$, $(-1, 1)$, or $(1, \infty)$. (We'll ignore exact equality where a point lies on one of the planes.) So, the region containing a point $(x,y,z)$ is described by which of the three cases contains each of the four expressions $(+ x + y + z, \thinspace x - y - z, \thinspace - x + y - z, \thinspace - x - y + z)$.

A priori, there are $3^4=81$ potential combinations, but we need to find which are actually possible. Note that the four left-hand-size expressions $(+ x + y + z, \thinspace x - y - z, \thinspace - x + y - z, \thinspace - x - y + z)$ are constrained in having a sum of 0. Moreover, as 4 linear expressions in 3 unknowns, they are free to take on any combination of values subject to this one constraint. So, we can forget about these expressions and re-ask the question as:

Given four numbers that sum to zero, how different ordered lists of intervals$(-\infty, -1), (-1, 1), (1, \infty)$ can they respectively lie in?

For example, not all four can lie in $(1, \infty)$ because this forces their sum to be positive rather than zero. Let's count the impossible combinations. Note that if we have two opposite unbounded intervals $(-\infty, -1)$ and $(1, \infty)$, we can make their sum be anything we want for any choice of the other two and be all set. So, any impossible combination must have all the constraints on one "side", say as either $(-1, 1)$ or $(1, \infty)$.

From here, we see if that 2 or more constraints are $(1, \infty)$, then the other two values in $(-1, 1)$ can't be small enough to counterbalance the two $>1$ values. Otherwise if $(-1, 1)$ is the majority, it's easy to find a working solution like $(0, 0, 0, 0)$ or $(-1/2, -1/2, -1/2, + 3/2)$.

So, the number of impossible combinations on the positive side is ${4 \choose 2} + {4 \choose 1} + {4 \choose 0}$, which, remembering Pascal's Triangle, is $6+4+1 = 11$. Counting the corresponding negated impossible constraints on the negative side, we have $22$ unsolvable combinations of constraints, so the total number of solvable ones and thus regions is $81 - 22 = 59$.

  • $\begingroup$ +1 for this solution as well $\endgroup$
    – ThomasL
    Commented Jul 19, 2020 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.