successfully traversed a great circle
parent
3b806c3796
commit
f4176b9ced
86
polytopes.js
86
polytopes.js
|
@ -370,28 +370,88 @@ function manual_label_120cell(nodes, links) {
|
|||
|
||||
}
|
||||
|
||||
function semiautomatic_label_120cell(nodes, links) {
|
||||
const COLOURS = {
|
||||
1: [ 313, 157, 461, 505 ],
|
||||
2: [ 1, 153, 29, 105 ],
|
||||
3: [ 317, 409, 265, 109 ],
|
||||
4: [ 221, 337, 25, 509 ],
|
||||
5: [ 217, 413, 457, 361 ]
|
||||
};
|
||||
for( const col in COLOURS ) {
|
||||
label_nodes(nodes, COLOURS[col], col);
|
||||
function meridian_label_120cell(nodes, links) {
|
||||
|
||||
const DODECAS = [
|
||||
[
|
||||
313, 1, 317, 221, 217, 417,
|
||||
341, 421, 165, 161, 465, 469,
|
||||
37, 269, 33, 113, 117, 517,
|
||||
365, 513
|
||||
],
|
||||
[
|
||||
513, 365, 517, 117, 113, 577,
|
||||
15, 581, 565, 561, 397, 399,
|
||||
85, 389, 81, 301, 303, 213,
|
||||
293, 209
|
||||
],
|
||||
[
|
||||
301, 209, 293, 213, 303,
|
||||
211, 309, 294, 311, 215,
|
||||
310, 210, 214, 312, 295,
|
||||
212, 302, 304, 216, 296
|
||||
],
|
||||
[
|
||||
304, 302, 212, 296, 216, 400,
|
||||
398, 84, 392, 88, 16, 580,
|
||||
564, 568, 584, 368, 516, 116,
|
||||
120, 520
|
||||
],
|
||||
[
|
||||
368, 516, 116, 120, 520, 272,
|
||||
36, 468, 472, 40, 164, 420,
|
||||
344, 424, 168, 220, 316, 4,
|
||||
320, 224
|
||||
],
|
||||
[
|
||||
316, 4, 320, 224, 220, 412,
|
||||
340, 416, 160, 156, 460, 464,
|
||||
32, 268, 28, 108, 112, 512,
|
||||
364, 508
|
||||
],
|
||||
[
|
||||
508, 364, 512, 112, 108, 572,
|
||||
14, 576, 560, 556, 394, 396,
|
||||
80, 388, 76, 298, 300, 208,
|
||||
292, 204
|
||||
],
|
||||
[
|
||||
300, 298, 204, 292, 208,
|
||||
206, 202, 306, 291, 308,
|
||||
290, 305, 203, 207, 307,
|
||||
289, 201, 297, 299, 205
|
||||
],
|
||||
[
|
||||
299, 297, 201, 289, 205, 395,
|
||||
393, 73, 385, 77, 13, 569,
|
||||
553, 557, 573, 361, 505, 105,
|
||||
109, 509
|
||||
],
|
||||
[
|
||||
361, 505, 105, 109, 509, 265,
|
||||
25, 457, 461, 29, 153, 409,
|
||||
337, 413, 157, 217, 313, 1,
|
||||
317, 221
|
||||
]
|
||||
]
|
||||
|
||||
let col = 1;
|
||||
for( const dd of DODECAS ) {
|
||||
label_nodes(nodes, dd, 5);
|
||||
col++;
|
||||
if( col > 5 ) {
|
||||
col = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
export const cell120 = () => {
|
||||
const nodes = make_120cell_vertices();
|
||||
const links = auto_detect_edges(nodes, 4);
|
||||
|
||||
semiautomatic_label_120cell(nodes, links);
|
||||
meridian_label_120cell(nodes, links);
|
||||
|
||||
return {
|
||||
nodes: nodes,
|
||||
|
|
21
testbed.js
21
testbed.js
|
@ -479,6 +479,27 @@ function colour_one_dodecahedron(faces, face, node, p) {
|
|||
}
|
||||
|
||||
|
||||
// go along a meridian
|
||||
|
||||
function meridian(faces, startf, startn) {
|
||||
const dds = [ face_plus_to_dodecahedron(faces, startf, startn) ];
|
||||
|
||||
while( dds.length < 10 ) {
|
||||
const dd = dds[dds.length - 1];
|
||||
const nextf = dd[11]; // opposite to startf
|
||||
const neighbours = find_adjacent_faces(faces, nextf);
|
||||
const nextnbors = neighbours.filter((f) => !dd.includes(f));
|
||||
|
||||
const nextdd = faces_to_dodecahedron(faces, nextf, nextnbors[0]);
|
||||
|
||||
|
||||
dds.push(nextdd);
|
||||
}
|
||||
|
||||
return dds;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue