Baltor Get started

Gallery / 4D geometry

Klein bottle and Veronese surface embedded in 4D

In your harness4D geometry toolMIT

Build the Klein bottle and the real projective plane (Veronese surface) as embedded surfaces of R4, prove non-orientability and Euler characteristics on their meshes, show their 3D shadows cross themselves (Steiner's Roman surface), and write both shadows coloured by the fourth coordinate.

Render of Klein bottle and Veronese surface embedded in 4D
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Entry points
klein, klein_mesh, veronese, veronese_mesh, euler_characteristic, is_orientable, closest_far_pair, roman_residual and 5 more
Outputs
example.gltf
Coordinates
surfaces in x, y, z, w; the shadow drops w (Klein) or the fourth Veronese coordinate, Godot/glTF +Y up

Limits. Meshes are flat-shaded with duplicated vertices because a non-orientable surface has no consistent normal field; materials are double-sided. The embedding check measures the smallest distance between mesh vertices more than three edges apart, a sampled test rather than a proof. The colour scale of the dropped coordinate is per surface.

Details

Kind
4D geometry tool
Engine
Python 3.10 or later
Files
10 files, 316.6 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 coarse surfaces, preview render
Techniques
Klein bottle embedding in R4 by a half-angle twist, Veronese embedding of the real projective plane, Steiner Roman surface, Euler characteristic of quotient meshes, orientation propagation across shared edges
Tags
4d, klein bottle, veronese surface, roman surface, projective plane, non-orientable, embedding, gltf
Identity
library.supply.creative_originals.d2b0bd254c5e42c04ce31536.45c5f74cc608d903
Version
45c5f74cc608d90324416105fdd5092d946830b624b9948d0f80bb4738c8557a

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.