Baltor Get started

Gallery / 4D geometry

Perspective, stereographic and orthographic projections compared

In your harness4D geometry toolMIT

Project one rotated 4D polytope three ways side by side (stereographic edges as true circular arcs) and measure what each map keeps: straight lines, circles, parallels and angles. Reads built-in polytopes or any fourd_polytope/v1 JSON record.

Render of Perspective, stereographic and orthographic projections compared
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Entry points
make_polytope, load_polytope, arc, stereographic_derivative, tangent_on_sphere, angle_errors, is_concyclic, meshes and 4 more
Outputs
example.gltf
Coordinates
x, y, z, w; the three views sit along glTF x (perspective, stereographic, orthographic), +Y up

Limits. Each view is scaled so its farthest vertex sits at the circumradius, which hides the real size differences between the projections. Stereographic arcs are polylines of a few segments (6 by default), so they approximate the circular images. Angle errors are measured at vertices only. The stereographic view refuses a vertex at the projection pole; choose a rotation that moves it. Input records must be convex polytopes centred near the origin for the circumsphere to make sense.

Details

Kind
4D geometry tool
Engine
Python 3.10 or later
Files
10 files, 294.1 KB
Licence
MIT
Declared effects
reads files, runs commands, writes files
Checked with
Godot 4.7.2, gl_compatibility (opengl3, Mesa llvmpipe under Xvfb)
Checks
cli rebuilds example, gltf structure example, cli example runs, cli example gltf structure, godot loads example, godot loads cli 24cell three views, preview render
Techniques
central perspective projection, stereographic projection of the 3-sphere (conformal, circle preserving), orthographic parallel projection, derivative of the stereographic map, great-circle arcs as radial images of chords
Tags
4d, projection, perspective, stereographic, orthographic, conformal, comparison, gltf
Identity
library.supply.creative_originals.63449d329c4a7058eded9605.99e43272c5fee580
Version
99e43272c5fee5805c57e1ff4372c685e603aedf583dac688310647271c0ea37

The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.

Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.