polytopes(6x)

✨ polytopes ✨

okay bestie, welcome to the XScreenSaver manual, and today's main character is polytopes πŸ’…


πŸ’– NAME πŸ’–

polytopes β€” draws one of the six regular 4d polytopes rotating in 4d. yes. FOUR-DEE. we're not doing 3d today, we're doing it bigger 🌈


πŸ¦‹ SYNOPSIS πŸ¦‹

polytopes [--display host:display.screen] [--install] [--visual visual]
[--window] [--root] [--window-id number] [--delay usecs] [--fps]
[-5-cell] [-8-cell] [-16-cell] [-24-cell] [-120-cell] [-600-cell]
[--wireframe] [--surface] [--transparent] [--single-color] [--depth-
colors] [--perspective-3d] [--orthographic-3d] [--perspective-4d]
[--orthographic-4d] [--speed-wx float] [--speed-wy float] [--speed-wz
float] [--speed-xy float] [--speed-xz float] [--speed-yz float]

like, that's a LOT of flags, and honestly? she earned every one of them πŸ‘‘


🌸 DESCRIPTION 🌸

soooo polytopes shows you one of the six regular 4d polytopes (the 5-cell, 8-cell, 16-cell, 24-cell, 120-cell, or 600-cell) rotating in 4d ✨

the program projects the 4d polytope down to 3d using either a perspective or an orthographic projection. then the projected 3d polytope gets projected to the screen β€” also either perspectively or orthographically. it's projections all the way down, bestie 😭

there are three display modes for the polytope:

  • mesh (wireframe)
  • solid
  • transparent

and on top of that, the colors the polytope is drawn with can be set to either single color or to a coloring according to the 4d "depth" (the w coordinate) of the polytope in its unrotated position.

in the first case, the polytope is drawn in red πŸ“. this coloring combined with transparency gives a nice visual effect of the structure of the polytope.

the second mode draws the polytope with a fully saturated color wheel in which the edges or faces are colored according to their average 4d "depth". this mode is best combined with the wireframe mode, where it lets you see how different parts of the polytope are moved to the "inside" of the projected polytope in 3d. and like β€” of course, in 4d the cells, faces, and edges of the polytope all have the same distance from the center of the polytope. only the projection creates the appearance that some of the cells lie "inside" the figure in 3d. not the polytope lying, it's the projection. the projection is the liar here πŸ’€


✨ OPTIONS ✨

polytopes accepts the following options:

  • --window β€” Draw on a newly-created window. This is the default.
  • --root β€” Draw on the root window.
  • --window-id _number_ β€” Draw on the specified window.
  • --install β€” Install a private colormap for the window.
  • --visual _visual_ β€” Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.
  • --delay _microseconds_ β€” How much of a delay should be introduced between steps of the animation. Default 25000, or 1/40th second.

πŸ”₯ the six polytope options πŸ”₯

the following six options are mutually exclusive. they determine which polytope is displayed. pick ONE, bestie, she's not polyamorous πŸ™ˆ

  • -5-cell β€” Display the 5-cell. The 5-cell is the 4d analogon of a regular tetrahedron in 3d. It has 5 regular tetrahedra as its cells, 10 equilateral triangles as faces, 10 edges, and 5 vertices.
  • -8-cell β€” Display the 8-cell (a.k.a. hypercube or tessaract). The 8-cell is the 4d analogon of a cube in 3d. It has 8 cubes as its cells, 24 squares as faces, 32 edges, and 16 vertices.
  • -16-cell β€” Display the 16-cell. The 16-cell is the 4d analogon of an octahedron in 3d. It has 16 regular tetrahedra as its cells, 32 equilateral triangles as faces, 24 edges, and 8 vertices.
  • -24-cell β€” Display the 24-cell. The 24-cell has no 3d analogon. It has 24 regular octahedra as its cells, 96 equilateral triangles as faces, 96 edges, and 24 vertices.
  • -120-cell β€” Display the 120-cell. The 120-cell has no 3d analogon. It has 120 regular dodecahedra as its cells, 720 regular pentagons as faces, 1200 edges, and 600 vertices.
  • -600-cell β€” Display the 600-cell. The 600-cell has no 3d analogon. It has 600 regular tetrahedra as its cells, 1200 equilateral triangles as faces, 720 edges, and 120 vertices.

πŸŽ€ display mode options πŸŽ€

the following three options are mutually exclusive. they determine how the polytope is displayed.

  • --wireframe β€” Display the polytope as a wireframe mesh.
  • --surface β€” Display the polytope as a solid object.
  • --transparent β€” Display the polytope as a transparent object (default).

🌈 color options 🌈

the following two options are mutually exclusive. they determine how to color the polytope.

  • --single-color β€” Display the polytope in red.
  • --depth-colors β€” Display the polytope with a fully saturated color wheel in which the edges or faces are colored according to their average 4d "depth", i.e., the w coordinate of the polytope in its unrotated position (default).

πŸ‘‘ 3d β†’ 2d projection options πŸ‘‘

the following two options are mutually exclusive. they determine how the polytope is projected from 3d to 2d (i.e., to the screen).

  • --perspective-3d β€” Project the polytope from 3d to 2d using a perspective projection (default).
  • --orthographic-3d β€” Project the polytope from 3d to 2d using an orthographic projection.

πŸ’œ 4d β†’ 3d projection options πŸ’œ

the following two options are mutually exclusive. they determine how the polytope is projected from 4d to 3d.

  • --perspective-4d β€” Project the polytope from 4d to 3d using a perspective projection (default).
  • --orthographic-4d β€” Project the polytope from 4d to 3d using an orthographic projection.

🧚 rotation speed options 🧚

the following six options determine the rotation speed of the polytope around the six possible hyperplanes. the rotation speed is measured in degrees per frame.

⚠️ the speeds should be set to relatively small values, e.g., less than 4 in magnitude. do NOT crank these, bestie, we are not trying to summon a demon 🚫
  • --speed-wx _float_ β€” Rotation speed around the wx plane (default: 1.1).
  • --speed-wy _float_ β€” Rotation speed around the wy plane (default: 1.3).
  • --speed-wz _float_ β€” Rotation speed around the wz plane (default: 1.5).
  • --speed-xy _float_ β€” Rotation speed around the xy plane (default: 1.7).
  • --speed-xz _float_ β€” Rotation speed around the xz plane (default: 1.9).
  • --speed-yz _float_ β€” Rotation speed around the yz plane (default: 2.1).

🫢 INTERACTION 🫢

if you run this program in standalone mode you can rotate the polytope by dragging the mouse while pressing the left mouse button. this rotates the polytope in 3D, i.e., around the wx, wy, and wz planes ✨

if you press the shift key while dragging the mouse with the left button pressed, the polytope is rotated in 4D, i.e., around the xy, xz, and yz planes 🌌

to examine the polytope at your leisure, it is best to set all speeds to 0. otherwise, the polytope will rotate while the left mouse button is not pressed. yeah. she does not stop. she has main character energy and she will keep spinning πŸ’…

  • --fps β€” Display the current frame rate, CPU load, and polygon count.

🌟 ENVIRONMENT 🌟

  • DISPLAY β€” to get the default host and display number.
  • XENVIRONMENT β€” to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
  • XSCREENSAVER_WINDOW β€” The window ID to use with --root.

πŸ’€ SEE ALSO πŸ’€

X(1), xscreensaver(1)


Copyright Β© 2003-2005 by Carsten Steger. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.


πŸ’– AUTHOR πŸ’–

Carsten Steger <carsten@mirsanmir.org>, 28-sep-2005.


okay and that's the whole thing bestie, no cap, you're now officially a 4d polytope girlie 🫢 this lil' doc came from X Version 11, 6.17-1.fc44 (13-Oct-2026), and it's filed under polytopes(6x) β€” slay, go project some hypercubes βœ¨πŸŒˆπŸ’…

πŸ“¦ where this page comes from