feature-120-cell-more-inscriptions #24
10
cellindex.js
10
cellindex.js
@ -117,7 +117,17 @@ export const CELL120_CELL5 = {
|
|||||||
"2": [ 223, 76, 238, 84, 225 ],
|
"2": [ 223, 76, 238, 84, 225 ],
|
||||||
"3": [ 253, 44, 283, 304, 42 ],
|
"3": [ 253, 44, 283, 304, 42 ],
|
||||||
"4": [ 419, 112, 197, 578, 521 ],
|
"4": [ 419, 112, 197, 578, 521 ],
|
||||||
|
"5": [ 339, 14, 384, 382, 337 ],
|
||||||
|
"6": [ 331, 4, 335, 390, 386 ],
|
||||||
|
"7": [ 427, 160, 551, 146, 557 ],
|
||||||
|
"8": [ 265, 60, 64, 295, 246 ],
|
||||||
|
"9": [ 473, 100, 495, 213, 462 ],
|
||||||
|
"10": [ 393, 6, 328, 397, 326 ],
|
||||||
|
"11": [ 539, 164, 439, 561, 142 ],
|
||||||
|
"12": [ 511, 122, 456, 595, 181 ],
|
||||||
|
"13": [ 555, 154, 152, 545, 429 ]
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -114,6 +114,15 @@ function overlap(c1, c2) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function c5match(c1, c2) {
|
||||||
|
for( const l in c1 ) {
|
||||||
|
if( c1[l] != c2[l] ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export function gather_5cells(cell120) {
|
export function gather_5cells(cell120) {
|
||||||
const CHORD5 = round_dist(Math.sqrt(2.5));
|
const CHORD5 = round_dist(Math.sqrt(2.5));
|
||||||
@ -379,30 +388,13 @@ function cell5_neighbourhoods(cell120, all5, c5) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// pick a 5-cell, and then pick the nearest neighbours to its vertices on their
|
function cell5_tetras(cell120, all5, c5) {
|
||||||
// respective inscribed 600-cells
|
|
||||||
|
|
||||||
const cell120 = POLYTOPES.cell120_inscribed();
|
|
||||||
const all5 = gather_5cells(cell120);
|
|
||||||
|
|
||||||
const c5 = all5[0]
|
|
||||||
|
|
||||||
const nb = cell5_neighbourhoods(cell120, all5, c5);
|
const nb = cell5_neighbourhoods(cell120, all5, c5);
|
||||||
|
|
||||||
// trying for all tetras
|
|
||||||
|
|
||||||
// let's pick a tetra on the first vertex of the primary 5cell...
|
|
||||||
|
|
||||||
const v1 = cell120node(cell120, c5["1"]);
|
const v1 = cell120node(cell120, c5["1"]);
|
||||||
const ts = tetras(cell120, v1);
|
const ts = tetras(cell120, v1);
|
||||||
|
|
||||||
|
const c5s = [];
|
||||||
for( const t of ts ) {
|
for( const t of ts ) {
|
||||||
|
|
||||||
console.log(t);
|
|
||||||
|
|
||||||
// ... and then see which of the neighbourhood 5-cells have at least one
|
|
||||||
// of its vertices
|
|
||||||
|
|
||||||
const nt = nb.filter((n) => {
|
const nt = nb.filter((n) => {
|
||||||
for( const l in n ) {
|
for( const l in n ) {
|
||||||
if( t.includes(n[l]) ) {
|
if( t.includes(n[l]) ) {
|
||||||
@ -411,7 +403,33 @@ for( const t of ts ) {
|
|||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
});
|
});
|
||||||
|
for( const nc5 of nt ) {
|
||||||
console.log(nt);
|
const exact = c5s.filter((c) => c5match(c, nc5));
|
||||||
console.log("\n");
|
if( exact.length === 0 ) {
|
||||||
|
const o = c5s.filter((c) => overlap(c, nc5));
|
||||||
|
if( o.length > 0 ) {
|
||||||
|
console.log("Overlap", c5, o);
|
||||||
|
} else {
|
||||||
|
c5s.push(nc5);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return c5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const cell120 = POLYTOPES.cell120_inscribed();
|
||||||
|
const all5 = gather_5cells(cell120);
|
||||||
|
|
||||||
|
const c5 = all5[0]
|
||||||
|
|
||||||
|
const c5s = cell5_tetras(cell120, all5, c5);
|
||||||
|
|
||||||
|
const celli = c5s.map((c5) => [ "1", "2", "3", "4", "5" ].map((l) => c5[l]));
|
||||||
|
|
||||||
|
console.log(celli);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user