feature-120-cell-layers #7
							
								
								
									
										78
									
								
								polytopes.js
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								polytopes.js
									
									
									
									
									
								
							| @ -393,28 +393,6 @@ function link_labels(nodes, link) { | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| export const cell120 = () => { |  | ||||||
| 	const nodes  = make_120cell_vertices(); |  | ||||||
| 	const links = auto_detect_edges(nodes, 4); |  | ||||||
| 
 |  | ||||||
| 	label_120cell(nodes); |  | ||||||
| 
 |  | ||||||
| 	return { |  | ||||||
| 		name: '120-cell', |  | ||||||
| 		nodes: nodes, |  | ||||||
| 		links: links, |  | ||||||
| 		geometry: { |  | ||||||
| 			node_size: 0.02, |  | ||||||
| 			link_size: 0.02 |  | ||||||
| 		}, |  | ||||||
| 		base: {}, |  | ||||||
| 		options: [ |  | ||||||
| 			[ 'One inscribed 600-cell', {} ], |  | ||||||
| 			[ 'All inscribed 600-cells', {} ], |  | ||||||
| 		] |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export const cell120_layered = (max) => { | export const cell120_layered = (max) => { | ||||||
| 	const nodes  = make_120cell_vertices(); | 	const nodes  = make_120cell_vertices(); | ||||||
| 	const links = auto_detect_edges(nodes, 4); | 	const links = auto_detect_edges(nodes, 4); | ||||||
| @ -453,7 +431,7 @@ export const cell120_inscribed = () => { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return { | 	return { | ||||||
| 		name: '120-cell inscribed', | 		name: '120-cell', | ||||||
| 		nodes: nodes, | 		nodes: nodes, | ||||||
| 		links: links, | 		links: links, | ||||||
| 		geometry: { | 		geometry: { | ||||||
| @ -462,14 +440,12 @@ export const cell120_inscribed = () => { | |||||||
| 		}, | 		}, | ||||||
| 		options: [ | 		options: [ | ||||||
| 			{ name: "none", links: [ 0 ]}, | 			{ name: "none", links: [ 0 ]}, | ||||||
| 			{ name: "one", links: [ 0, 1 ] }, | 			{ name: "one inscribed 600-cell", links: [ 0, 1 ] }, | ||||||
| 			{ name: "all", links: [ 0, 1, 2, 3, 4, 5 ] } | 			{ name: "five inscribed 600-cells", links: [ 0, 1, 2, 3, 4, 5 ] } | ||||||
| 		] | 		] | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // export const cell120_inscribed = () => cell120_some_inscribed([1]);
 |  | ||||||
| // export const cell120_all_inscribed = () => cell120_some_inscribed([1,2,3,4,5]);
 |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // Schoute's partition via https://arxiv.org/abs/1010.4353
 | // Schoute's partition via https://arxiv.org/abs/1010.4353
 | ||||||
| @ -647,48 +623,31 @@ export const cell600 = () => { | |||||||
| 	const nodes  = make_600cell_vertices(); | 	const nodes  = make_600cell_vertices(); | ||||||
| 	const links = auto_detect_edges(nodes, 12); | 	const links = auto_detect_edges(nodes, 12); | ||||||
| 
 | 
 | ||||||
|  | 	links.map((l) => l.label = 0); | ||||||
|  | 
 | ||||||
|  | 	for( const p of [1, 2, 3, 4, 5]) { | ||||||
|  | 		const nodes24 = nodes.filter((n) => n.label === p); | ||||||
|  | 		const links24 = auto_detect_edges(nodes24, 8); | ||||||
|  | 		links24.map((l) => l.label = p); | ||||||
|  | 		links.push(...links24); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	return { | 	return { | ||||||
|  | 		name: '600-cell', | ||||||
| 		nodes: nodes, | 		nodes: nodes, | ||||||
| 		links: links, | 		links: links, | ||||||
| 		geometry: { |  | ||||||
| 			node_size: 0.02, |  | ||||||
| 			link_size: 0.02 |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| const cell600_some_inscribed = (ps) => { |  | ||||||
| 	const nodes  = make_600cell_vertices(); |  | ||||||
| 	const links = auto_detect_edges(nodes, 12); |  | ||||||
| 
 |  | ||||||
| 	const all_links = links; |  | ||||||
| 	all_links.map((l) => l.label = 0); |  | ||||||
| 
 |  | ||||||
| 	for( const p of ps) { |  | ||||||
| 		const nodes24 = nodes.filter((n) => n.label === p); |  | ||||||
| 		const links24 = auto_detect_edges(nodes24, 8); |  | ||||||
| 		links24.map((l) => l.label = p); |  | ||||||
| 		all_links.push(...links24); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	return { |  | ||||||
| 		nodes: nodes, |  | ||||||
| 		links: all_links, |  | ||||||
| 		geometry: { | 		geometry: { | ||||||
| 			node_size: 0.02, | 			node_size: 0.02, | ||||||
| 			link_size: 0.02 | 			link_size: 0.02 | ||||||
| 		}, | 		}, | ||||||
|  | 		options: [ | ||||||
|  | 			{ name: "none", links: [ 0 ]}, | ||||||
|  | 			{ name: "one 24-cell", links: [ 0, 1 ] }, | ||||||
|  | 			{ name: "five 24-cells", links: [ 0, 1, 2, 3, 4, 5 ] } | ||||||
|  | 		] | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| export const cell600_inscribed = () => cell600_some_inscribed([1]); |  | ||||||
| export const cell600_all_inscribed = () => cell600_some_inscribed([1,2,3,4,5]); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| function make_dodecahedron_vertices() { | function make_dodecahedron_vertices() { | ||||||
| 	const phi = 0.5 * (1 + Math.sqrt(5));   | 	const phi = 0.5 * (1 + Math.sqrt(5));   | ||||||
| 	const phiinv = 1 / phi;     | 	const phiinv = 1 / phi;     | ||||||
| @ -771,6 +730,7 @@ export const build_all = () => { | |||||||
| 		cell16(), | 		cell16(), | ||||||
| 		tesseract(), | 		tesseract(), | ||||||
| 		cell24(), | 		cell24(), | ||||||
|  | 		cell600(), | ||||||
| 	 	cell120_inscribed() | 	 	cell120_inscribed() | ||||||
| 	 	]; | 	 	]; | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user