import { CellComplex } from '../geometry/cell-complex.js'; export interface Cell24Options { /** Circumradius (distance from center to each vertex). Default 1. */ radius?: number; } /** * Builds the 24-cell — the regular polychoron with no 3D analogue. * * Construction at circumradius √2 (then scaled): the 24 vertices are all * permutations of (±1, ±1, 0, 0). Each vertex has 8 nearest neighbors at * distance √2 (the edges, 96 total), every mutually-adjacent triple is a * triangular face (96), and the 24 octahedral cells are centered on the * vertices of the dual 24-cell — the 8 permutations of (±1, 0, 0, 0) plus * the 16 points (±½, ±½, ±½, ±½): a cell's 6 vertices are exactly those * with dot product 1 against its center. * * Each octahedron is split into 4 tetrahedra around one of its diagonals, * so the complex is sliceable out of the box. * * @param options - Circumradius of the returned polychoron. * * @example * Turned in the 0–3 plane, which no rotation of 3-space reproduces: * ```ts * const cell24 = new ProjectedEdges3D( * create24Cell(), * new PerspectiveProjection({ fromDim: 4, viewDistance: 4 }) * ); * scene.add(cell24.object); * * onFrame((t) => * cell24.update( * new TransformN(4, rotationFromPlanes(4, [{ i: 0, j: 3, angle: t * 0.4 }])) * ) * ); * ``` * * @example * The 3-cells are the tetrahedra of the decomposition, not the 24 * octahedra they came from — each octahedron splits into four: * ```ts * const cell24 = create24Cell(); * cell24.cellCount(3); // 96 = 24 × 4 * ``` */ export declare function create24Cell(options?: Cell24Options): CellComplex; //# sourceMappingURL=cell24.d.ts.map