Dear all,
Last night I had an epiphany regarding the construction of the various uniform truncates/rectates/rhombates/etc. of the n-dimensional cubes/crosses. While attempting to compute the Cartesian coordinates of a few interesting 4D polychora, I stumbled upon the following pattern that completely enumerates all uniform n-polytopes derived from the n-cube/n-cross, and gives the full Cartesian coordinates for their vertices.
Notation
For conciseness' sake, I shall write [x1,x2,...xn] to denote the convex hull of all possible permutations of coordinates and signs of the point <x1,x2,...xn>. Thus, [1,1,1] is the cube, and [1,1,1,1] is the tetracube. [0,1,1] is the cuboctahedron.
If P is a point of the form <x1,...xn>, then I shall write [P] to mean [x1,...xn].
Definition
I shall call the class of enumerated the n-truncates (is there a better term for this?), and denote it by T.
Firstly, the point [0] and the line segment [1] are in T. (We may regard the point as a "degenerate truncate", represent in all dimensions, as we shall see.)
Next, given any (n-1)-dimensional truncate of the form [P], the n-dimensional truncates are defined to be:
1) Any polytope [P+], where P+ is P concatenated with its largest coordinate. For example, since [1] is a 1-truncate, one possible 2-truncate is [1,1], formed by repeating the largest coordinate 1.
2) Any polytope [P#], where P# is P concatenated with x+√2, where x is the largest coordinate of P. For example, from [1] we may form [1,1+√2], which is the octagon.
Note that all polytopes generated by this definition have an edge length of 2. (This is vacuously true for the point as well.)
Intuition
The basic intuition behind this definition is that we take any (n-1)-truncate and lay them in the hyperplanes of an n-cube's facets, with two possible distances along the coordinate axes: one where their axial facets coincide (thus joining to each other via their axial facets), and one where their axial faces are 2 units apart, the gap to be filled in by an appropriate prism. By construction, all edge lengths will be equal. Furthermore, all polytopes thus generated are uniform (proof left as an exercise for the reader).
Enumeration
1D:
[0] is a point.
[1] is a line segment.
2D:
From [0], we may repeat the largest coordinate to get [0,0], which is again the point in 2D, or we may add √2 to its largest coordinate to get [0,√2], which is the square diamond with edge length 2.
From [1], repeating the largest coordinate gives [1,1], the square, and adding √2 gives [1,1+√2], the octagon.
These are all the possibilities.
3D:
From [0,0], we get [0,0,0], the point again, and [0,0,√2], the octahedron of edge length 2.
From [0,√2], we get [0,√2,√2], the cuboctahedron, and [0,√2,2√2], the truncated octahedron.
From [1,1], we get [1,1,1], the cube, and [1,1,1+√2], the (small) rhombicuboctahedron.
From [1, 1+√2], we get [1, 1+√2, 1+√2], the truncated cube, and [1, 1+√2, 1+2√2], the great rhombicuboctahedron ("truncated" cuboctahedron).
These account for all the "cube-like" or "octahedron-like" Archimedean polyhedra.
4D:
[0,0,0,0] is the point in 4D.
[0,0,0,√2] is the 16-cell.
[0,0,√2,√2] is the 24-cell (rectified 16-cell).
[0,0,√2,2√2] is the truncated 16-cell.
[0,√2,√2,√2] is the rectified 8-cell.
[0,√2,√2,2√2] is the cantellated 16-cell (rectified 24-cell).
[0,√2,2√2,2√2] is the bitruncated 16-cell (bitruncated 8-cell).
[0,√2,2√2,3√2] is the cantitruncated 16-cell (truncated 24-cell).
[1,1,1,1] is the tesseract (8-cell).
[1,1,1,1+√2] is the runcinated tesseract (runcinated 16-cell).
[1,1,1+√2,1+√2] is the cantellated 8-cell.
[1,1,1+√2,1+2√2] is the runcitruncated 16-cell.
[1,1+√2,1+√2,1+√2] is the truncated tesseract.
[1,1+√2,1+√2,1+2√2] is the runcitruncated 8-cell.
[1,1+√2,1+2√2,1+2√2] is the cantitruncated 8-cell.
[1,1+√2,1+2√2,1+3√2] is the omnitruncated 8-cell.
These account for all the uniform polychora in the tesseractic/16-cell family.
I won't try to enumerate them in 5D, but it is clear that there will be precisely 32 cubic truncates in 5D, or 31 if we exclude the degenerate point. Excluding the 5-cube and 5-cross themselves, we see there are 29 uniform 5-polytopes in the pentarectic family.
In general, in n-dimensions, there will be 2^n-1 non-degenerate n-cubic uniform polytopes (including the n-cube and n-cross). Their Cartesian coordinates can be derived simply by enumerating in the manner exemplified above.