-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsafety.nb
25 lines (18 loc) · 1.58 KB
/
safety.nb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(* This program computes the genus of all configurations of a FCC 1-neighborhood. *)
rdpoly = PolyhedronData["RhombicDodecahedron", "Polyhedron"];
alloffsets = {{2Sqrt[2/3],0,0},{-2 Sqrt[2/3],0,0},{0,2Sqrt[2/3],0},{0,-2 Sqrt[2/3],0}, {Sqrt[2/3],Sqrt[2/3],2/Sqrt[3]},{-Sqrt[(2/3)],Sqrt[2/3],2/Sqrt[3]},{Sqrt[2/3],-Sqrt[(2/3)],2/Sqrt[3]},{-Sqrt[(2/3)],-Sqrt[(2/3)],2/Sqrt[3]}, {Sqrt[2/3],Sqrt[2/3],-(2/Sqrt[3])},{-Sqrt[(2/3)],Sqrt[2/3],-(2/Sqrt[3])},{Sqrt[2/3],-Sqrt[(2/3)],2/-Sqrt[3]},{-Sqrt[(2/3)],-Sqrt[(2/3)],-(2/Sqrt[3])}};
gennbrhd[offsets_]:=RegionUnion @@ Table[CanonicalizePolyhedron[Translate[rdpoly,offset]],{offset,offsets}];
nbrhdgenus[offsets_]:=PolyhedronGenus[gennbrhd[offsets]];
(* This shows that the genus for subsets of 1...5 always yield a genus 0 configuration always. *)
result_proof=Plus @@ nbrhdgenus /@ Subsets[alloffsets,{1, 5}]
(* This shows that the genus for subsets of 6+ a genus 0 configuration is not certain. *)
disprove6 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{6}]
disprove7 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{7}]
disprove8 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{8}]
disprove9 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{9}]
disprove10 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{10}]
disprove11 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{11}]
disprove12 = Plus @@ nbrhdgenus /@ Subsets[alloffsets,{12}]
(* This is exports figures for inspection or video rendering *)
counter = 0
Do [counter = counter + 1; Export[StringInsert["fig__lemma1.jpg", ToString @ counter, 5], Graphics3D[{Yellow, gennbrhd[i]}] ], {i, Subsets[alloffsets,{6, 11}]}]