Moving the Vertices of the Great Rhombicuboctahedron

With the default values of the parameters, the solid is a great rhombicuboctahedron inscribed in a cube. As you vary the parameters, the vertices move on the surface of the circumscribed cube so that adjacency is preserved. This means that the faces of these polyhedra are always octagons (yellow), hexagons (lavender), and rectangles (cyan). Because the faces are not always convex, you can create surprisingly intricate polyhedra.

For many pairs of parameters, the octagons and/or hexagons appear to have holes in them. Polygons whose edges cross one another are called self-intersecting.Mathematica renders such polygons by filling them in "according to an even-odd rule that alternates between filling and not at each crossing" (see the Mathematica documentation for Polygon).