Compare commits

..

3 Commits

Author SHA1 Message Date
Mike Lynch
7bf5adcb3a Antipode-detector to complete the mapping 2026-02-07 11:32:06 +11:00
Mike Lynch
3c874326a6 Equator is done! 2026-02-07 11:04:42 +11:00
Mike Lynch
29a9d60fdf Typo in last version of metamap 2026-02-07 10:44:08 +11:00
2 changed files with 84 additions and 9 deletions

View File

@ -141,7 +141,7 @@ export const CELL600_METAMAP = {
207: 99, 207: 99,
573: 15, 573: 15,
565: 25, 563: 25,
513: 29, 513: 29,
285: 77, 285: 77,
324: 61, 324: 61,
@ -154,7 +154,36 @@ export const CELL600_METAMAP = {
543: 75, 543: 75,
289: 31, 289: 31,
48: 114,
49: 119,
61: 84,
68: 85,
74: 72,
87: 65,
234: 8,
239: 7,
241: 6,
248: 5,
300: 4,
301: 3,
356: 82,
357: 87,
369: 120,
376: 113,
403: 68,
406: 69,
444: 86,
453: 83,
460: 118,
469: 115,
490: 88,
503: 81,
525: 116,
532: 117,
572: 70,
581: 67,
592: 66,
593: 71,
}; };
export const CELL120_CELL5 = { export const CELL120_CELL5 = {

View File

@ -197,7 +197,7 @@ export const TEMPERATE_PENTAGONS_I = [
[ 140, 306, 207, 527, 274 ], [ 140, 306, 207, 527, 274 ],
[ 527, 207, 573, 347, 95 ], [ 527, 207, 573, 347, 95 ],
[ 105, 573, 207, 306, 585 ], [ 105, 573, 207, 306, 585 ],
] ];
export const TEMPERATE_PENTAGONS = TEMPERATE_PENTAGONS_I.map((f) => { export const TEMPERATE_PENTAGONS = TEMPERATE_PENTAGONS_I.map((f) => {
return f.map((nid) => CELLINDEX.CELL600_METAMAP[nid]) return f.map((nid) => CELLINDEX.CELL600_METAMAP[nid])
@ -222,13 +222,59 @@ export function layer_three(shape, pentagons) {
} }
} }
export const TEMPERATE_APICES = [
563,
513,
285,
324,
231,
487,
413,
425,
378,
388,
543,
289,
];
/*const cell600 = make_one_600cell(); // this one generates the mapping to the base 600 cell as well, unlike
const layered = insc600_layers(cell600); // previous versions where I did the mapping by hand
for( const d in layered ) { export function equator(i600, b600, apices) {
console.log(`dist = ${d}`); const pairs = [];
layer_neighbours(cell600, layered[d]); // get all 30 of the edges on the temperate dodeca
for( let i = 0; i < 11; i++ ) {
for( let j = i + 1; j < 12; j++ ) {
const s = shared_neighbours(i600, [ apices[i], apices[j] ]);
if( s.length > 0 ) {
const e = s.filter((n) => !(n in CELLINDEX.CELL600_METAMAP));
pairs.push([apices[i], apices[j], e]);
}
}
}
const MAPPED = Object.values(CELLINDEX.CELL600_METAMAP);
const eq = {};
for( const pair of pairs ) {
const b1 = CELLINDEX.CELL600_METAMAP[pair[0]];
const b2 = CELLINDEX.CELL600_METAMAP[pair[1]];
const s = shared_neighbours(b600, [ b1, b2 ]);
const e = s.filter((n) => !MAPPED.includes(n));
if( e.length !== 1 ) {
console.log(`Bad value at ${pair}`);
} else {
eq[pair[2]] = e[0];
}
}
return eq;
}
export function antipode(shape, nid) {
const n0 = shape.nodes.filter((n) => n.id === nid)[0];
const dists = shape.nodes.map((n) => [ dist(n, n0), n ]);
dists.sort((a, b) => b[0] - a[0]);
return dists[0][1].id;
} }
*/