Keiji wrote:[...]is there any way you can construct the aerochoron from the pyrochoron, or vice versa?
As far as I know, the pyrochoron has no direct connections with the other polychora. The connection in 3D is due to the coincidence of the pyrohedron with the alternated geohedron. In 4D, the alternated geochoron is the aerochoron, so you're out of luck there. You'll have to use the geoteron or aeroteron to get the pyrochoron as a vertex figure/cell, and project it back to 4-space.
(But speaking of alternations... the fact that the aerochoron is not only the dual but also the alternation of the geochoron has interesting consequences. One can, for example, decompose a geochoron into two aerochora of the same circumradius, and add a third aerochoron such that the convex hull of the three form the xylochoron. The convex hull of any pair of aerochora in the group is then a geochoron, and thus you have both the compound of 3 aerochora and the compound of 3 geochora in 4D, both spanning the vertices of the xylochoron. Furthermore, the dual xylochoron also gives rise to 3 aerochora and consequently 3 geochora, in an orientation complementary to the first set of 3's, so you can form also the compound of 6 aerochora and the compound of 6 geochora in 4D. The aerochora between the two sets, of course, are not in the right orientation to form geochora, so you can't add more geochora to the compound this way.)
Also, can the runcinate and omnitruncate operators be described from simpler operators (dual, truncate, hemicate, meso)?
In 3D, we have expand(X) = meso(meso(X)) and bevel(X) = truncate(meso(X)), but nothing can be made from 4D mesotruncates...
Keep in mind that these are topological operations, because they don't actually yield uniform polyhedra.
If you want a system that spans all uniform polytopes, nothing can beat Dynkin. The expand(X) operator is but one member from the full set of Dynkin operators. I have found that it's profitable to think in terms of
contraction rather than expansion, mostly because expansion is hard to define for surtopes of dimension less than N-1. Expanding the facets of a polytope is equivalent to
contracting said facets within their hyperplane (i.e., instead of pushing them outwards radially, confine them within their hyperplanes and shrink them). Such a contraction will automatically introduce gaps between vertices, since the vertices will split into k vertices where k is the in-degree of the original vertex, which gaps can be filled with new facets.
Instead of merely shrinking facets, we can allow shrinkage of elements of any dimension. For example, shrinking the pentagonal faces of the 120-cell turns each dodecahedral cell into a rhombicosidodecahedron, while keeping adjacent cells still joined, thus producing the cantellated 120-cell. Shrinking the edges to 2/3 length, instead, causes the pentagonal faces to turn into decagons, while still keeping all the cells joined together as before. This thus produces the truncated 120-cell. If we then shrink the decagonal faces of the truncated 120-cell, the cells turn into great rhombicosidodecahedra, while still keeping the cells joined as before, thus producing the cantitruncated 120-cell. Shrinking these great rhombicosidodecahedra produces the omnitruncated 120-cell. If the 120-cell's edges are shrunk to a point, then the dodecahedra become icosidodecahedra, and you get the rectified 120-cell. Shrinking the pentagons to a point turns the dodecahedra into icosahedra, while keeping the cells joined at these shrunk points, so that's the rectified 600-cell. If you shrink the rectified 120-cell's pentagons instead, the icosidodecahedra turn into truncated icosahedra which are joined to each other by their pentagonal faces: this is the bitruncated 120-cell. So here you have it: the mesotruncate. (You start with a 120-cell, shrink its edges to a point to get the rectified 120-cell, then shrink its pentagonal faces so that its cells turn into truncated icosahedra.)
Note that unlike the expand/truncate operators, these shrinkage operations always produce uniform polytopes (provided the degrees of shrinkages is correct). You never need to deform the resulting polytope in any way to make it uniform, unlike the topological derivation: truncate(icosidodecahedron) = non-uniform great rhombicosidodecahedron.