Polytwisters
Polytwisters
This is an online viewer for polytwisters, a class of curved shapes in
four-dimensional space.
What are polytwisters?
Polytwisters are a family of curved shapes that exist in
four spatial dimensions. They were discovered in 2000 by
Jonathan Bowers, an American mathematician known for his work on polytopes in higher
dimensions. Check
his original polytwisters page.
If you are entirely new to 4D Euclidean space, I recommend the following
resources:
The 4D analogy of the sphere is known as the
3-sphere. On the ordinary sphere, a great circle is a circle with the same
radius as the sphere itself, dividing it into two hemispheres. Any two
distinct great circles on a sphere must intersect at exactly two points. On
the 3-sphere, it is possible for two great circles on the 3-sphere to not
intersect each other at all. As the 3-sphere is a dimension "bigger" than the
sphere, there is far more room for these circles.
In fact, it is possible to divide the 3-sphere into infinitely many great
circles so that no two of them overlap each other and the circles cover the
entire 3-sphere. This is Hopf fibration, and these circles are called
Hopf fibers.
Even stranger, there exists a highly symmetrical one-to-one mapping from Hopf
fibers to points on the ordinary sphere. This is the
Hopf map. If we have a polyhedron whose vertices are on a sphere, we
can invert the Hopf map to convert that collection of vertices to a set of
Hopf fibers which we call rings.
Polytwisters are a four-dimensional analogy to polyhedra which, in place of
"vertices," have rings. In place of a polyhedron's edges which connect two
points, two rings may be connected by a strip, which is a
two-dimensional surface topologically equivalent to an open cylinder. Finally,
a set of strips joined end-to-end form a twister, which is a
polytwister's equivalent of a polygonal face.
A formal definition of polytwisters is given in my paper, "Polytwisters: 4D Curved Shapes from Polyhedra and Hopf Fibration," published in
Bridges 2026
(open access). The paper requires undergraduate-level understanding of linear
algebra and complex numbers, but with that background the definition is quite
natural and straightforward. There were many things about polytwisters that I
couldn't discuss due to space limitations, and I plan to expand on the paper
on this website.
About the application
This application is open source, MIT license. Check the
source code.
The renderer is a GLSL fragment shader which implements a classical raytracer,
using closed-form expressions to compute intersections of rays with the
figure. Raytracing a polytwister cross section reduces to raytracing Boolean
operations on affine transformations of cylinders. No meshes are used here,
although I have written a separate tool for that called
Polytwister Mesher.
Uniform polytwisters are generated on the fly from the symbols alone, using a
variant of the Wythoff construction to determine ring locations and
combinatorial structure. The
internal database of polytwisters
contains only their names and symbols.
Thanks foremost to
Jonathan Bowers
for giving me access to his original POV-Ray code and answering my many
questions. I'm also grateful to members of the
Polytope Wiki
and Discord for their assistance, in particular galoomba, Violeta, PlanetN9ne,
ThePokemonkey123, and Mecejide.
Changelog
v0.3.1 (2026-04-18): Minor UI/UX improvements.
v0.3.0 (2026-04-13): Add "oldschool" theme inspired by
Stella.
v0.2.3 (2026-04-12): Make UI somewhat usable on mobile.
v0.2.2 (2025-11-19): App now initially opens to the quasi ditrigonary
icosidodecatwister rather than the more plain-looking tetratwister. Colors of
twisters adjusted to reduce ugly combinations. Article now displays when
JavaScript is disabled.
v0.2.1 (2025-11-02): Cross-sections are now symmetrically rotated so there is
always a ring in the xy-plane.
v0.2.0 (2025-10-13): Major rework of user interface.
2025-10-04: All 222 uniform polytwisters and three infinite families are
implemented.
2025-06-13: Added 142 uniform polytwisters.
2025-04-09: Total rewrite.
2024-05-04: Initial launch.