From 6ae5c7938fd0c8ece162218c40ab16bce35e19ab Mon Sep 17 00:00:00 2001 From: Mike Lynch Date: Sun, 23 Nov 2025 10:26:02 +1100 Subject: [PATCH] First glimpse of the inscribed 5-cells in the 120-cell --- cellindex.js | 6 ++++++ main.js | 1 - polytopes.js | 30 +++++++++++++++++++++++++++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/cellindex.js b/cellindex.js index 366673a..d2d1ca6 100644 --- a/cellindex.js +++ b/cellindex.js @@ -104,6 +104,12 @@ export const LAYERS120 = { 163,219,271,223,167] }; +// just one for now + +export const CELL120_CELL5 = { + "1": [ 1, 258, 304, 431, 510 ] +}; + // Schoute's partition via https://arxiv.org/abs/1010.4353 export const PARTITION600 = { diff --git a/main.js b/main.js index 16591e6..01e544c 100644 --- a/main.js +++ b/main.js @@ -69,7 +69,6 @@ link_ms.map((m) => { ); - const face_ms = [ new THREE.MeshStandardMaterial( { color: 0x44ff44 } ) ]; diff --git a/polytopes.js b/polytopes.js index d39a834..ba89d76 100644 --- a/polytopes.js +++ b/polytopes.js @@ -461,6 +461,34 @@ export const cell120_inscribed = () => { +export const cell120_inscribed_cell5 = () => { + const nodes = make_120cell_vertices(); + const links = auto_detect_edges(nodes, 4); + + for( const cstr in CELLINDEX.INDEX120 ) { + label_nodes(nodes, CELLINDEX.INDEX120[cstr], Number(cstr)); + } + + links.map((l) => l.label = 0); + + const nodes5 = nodes.filter((n) => CELLINDEX.CELL120_CELL5["1"].includes(n.id)); + console.log(`node5 = ${nodes5}`); + const links5 = auto_detect_edges(nodes5, 4); + links5.map((l) => l.label = 1); + links.push(...links5); + + return { + name: '120-cell-5-cell', + nodes: nodes, + links: links, + options: [ + { name: "none", links: [ 0 ]}, + { name: "one inscribed 5-cell", links: [ 0, 1 ] }, + ], + description: `The 120-cell with one of its 5-cells.`, + } +} + function partition_coord(i, coords, invert) { @@ -864,7 +892,6 @@ export const icosahedron = () => { export const build_all = () => { return [ - linkTest(), tetrahedron(), octahedron(), cube(), @@ -878,6 +905,7 @@ export const build_all = () => { cell600(), cell600_layered(), cell120_inscribed(), + cell120_inscribed_cell5(), cell120_layered() ]; }