-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhypersphere_lattice_points.nb
8871 lines (8854 loc) · 543 KB
/
hypersphere_lattice_points.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 11.3' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 555393, 8863]
NotebookOptionsPosition[ 554189, 8836]
NotebookOutlinePosition[ 554522, 8851]
CellTagsIndexPosition[ 554479, 8848]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
RowBox[{
RowBox[{"(*", " ",
RowBox[{
"Finds", " ", "the", " ", "lattice", " ", "points", " ", "in", " ", "an",
" ", "escribed", " ", "hypercube"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"escribedhypercubelatticepoints", "[",
RowBox[{"c_", ",", "r_"}], "]"}], ":=",
RowBox[{"Tuples", "[",
RowBox[{
RowBox[{
RowBox[{"Range", "[",
RowBox[{
RowBox[{"Ceiling", "[",
RowBox[{"#", "-", "r"}], "]"}], ",",
RowBox[{"Floor", "[",
RowBox[{"#", "+", "r"}], "]"}]}], "]"}], "&"}], "/@", "c"}],
"]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Solves", " ", "the", " ", "1", "D", " ", "case", " ", "of", " ",
"finding", " ", "lattice", " ", "points", " ", "in", " ", "a", " ",
"range"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"shrink", "[", "pair_", "]"}], ":=",
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"pair", "[",
RowBox[{"[", "1", "]"}], "]"}], ">",
RowBox[{"pair", "[",
RowBox[{"[", "2", "]"}], "]"}]}], ",", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"pair", "[",
RowBox[{"[", "2", "]"}], "]"}], "//", "Ceiling"}], ",",
RowBox[{
RowBox[{"pair", "[",
RowBox[{"[", "1", "]"}], "]"}], "//", "Floor"}]}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"pair", "[",
RowBox[{"[", "1", "]"}], "]"}], "//", "Ceiling"}], ",",
RowBox[{
RowBox[{"pair", "[",
RowBox[{"[", "2", "]"}], "]"}], "//", "Floor"}]}], "}"}]}],
"\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
RowBox[{
"Solves", " ", "the", " ", "quadratic", " ", "equation", " ", "when",
" ", "adding", " ", "a", " ", "new", " ", "dimension", " ", "to", " ",
"a", " ", "hypersphere"}], ",", " ",
RowBox[{
"giving", " ", "the", " ", "range", " ", "of", " ", "values", " ", "the",
" ", "new", " ", "dimension", " ", "has", " ", "for", " ", "a", " ",
"particular", " ", "point"}]}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"solve", "[",
RowBox[{"c_", ",", "r_", ",", "knowns_"}], "]"}], ":=",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"First", "[", "c", "]"}], "+",
RowBox[{"#", "*",
RowBox[{"Sqrt", "[",
RowBox[{
RowBox[{"r", "^", "2"}], "-",
RowBox[{"Total", "[",
RowBox[{
RowBox[{"(",
RowBox[{"knowns", "-",
RowBox[{"Rest", "[", "c", "]"}]}], ")"}], "^", "2"}], "]"}]}],
"]"}]}]}], "&"}], "/@",
RowBox[{"{",
RowBox[{
RowBox[{"-", "1"}], ",", "1"}], "}"}]}]}], ";"}],
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
RowBox[{
"Add", " ", "all", " ", "the", " ", "points", " ", "over", " ", "the",
" ", "range", " ", "for", " ", "the", " ", "new", " ", "dimension", " ",
"at", " ", "a", " ", "lower", " ", "dimension", " ", "point"}], ",",
" ",
RowBox[{
"none", " ", "if", " ", "the", " ", "range", " ", "is", " ", "empty"}]}],
" ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"joinwithlower", "[",
RowBox[{"range_", ",", "lowerdimpoint_"}], "]"}], ":=",
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"Length", "[", "range", "]"}], "\[Equal]", "0"}], ",",
RowBox[{"{", "}"}], ",",
RowBox[{
RowBox[{
RowBox[{"Prepend", "[",
RowBox[{"lowerdimpoint", ",", "#"}], "]"}], "&"}], "/@",
"range"}]}], "]"}]}], ";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Module", " ", "for", " ", "listing", " ", "hypersphere", " ", "lattice",
" ", "points"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"hyperspherelatticepoints", "[",
RowBox[{"c_", ",", "r_"}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{"lowerdimpoints", ",", "ranges"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{"Base", " ", "case"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"Length", "[", "c", "]"}], "\[Equal]", "1"}], ",",
"\[IndentingNewLine]",
RowBox[{"Return", "[",
RowBox[{"Tuples", "[",
RowBox[{
RowBox[{"Range", "@@",
RowBox[{"shrink", "[",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"Last", "[", "c", "]"}], "-", "r"}], ",",
RowBox[{
RowBox[{"Last", "[", "c", "]"}], "+", "r"}]}], "}"}],
"]"}]}], ",", "1"}], "]"}], "]"}]}], "\[IndentingNewLine]",
"]"}], ";", "\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Recursive", " ", "work", " ", "to", " ", "find", " ", "values", " ",
"for", " ", "subsequent", " ", "dimensions"}], " ", "*)"}],
"\[IndentingNewLine]",
RowBox[{"lowerdimpoints", "=",
RowBox[{"hyperspherelatticepoints", "[",
RowBox[{
RowBox[{"Rest", "[", "c", "]"}], ",", "r"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Solve", " ", "for", " ", "the", " ", "current", " ", "dimension"}],
" ", "*)"}], "\[IndentingNewLine]",
RowBox[{"ranges", "=",
RowBox[{
RowBox[{
RowBox[{"Range", "@@",
RowBox[{"shrink", "[",
RowBox[{"solve", "[",
RowBox[{"c", ",", "r", ",", "#"}], "]"}], "]"}]}], "&"}], "/@",
"lowerdimpoints"}]}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Merge", " ", "the", " ", "points", " ", "into", " ", "a", " ",
"single", " ", "list"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{"Catenate", "[",
RowBox[{"MapIndexed", "[",
RowBox[{
RowBox[{
RowBox[{"joinwithlower", "[",
RowBox[{"#1", ",",
RowBox[{"lowerdimpoints", "[",
RowBox[{"[",
RowBox[{"#2", "//", "First"}], "]"}], "]"}]}], "]"}], "&"}],
",", "ranges", ",", "1"}], "]"}], "]"}]}]}], "\[IndentingNewLine]",
"]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Module", " ", "for", " ", "counting", " ", "hypersphere", " ", "lattice",
" ", "points"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"hyperspherelatticepointscount", "[",
RowBox[{"c_", ",", "r_"}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{"lowerdimpoints", ",", "counts"}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{"Base", " ", "case"}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{"Length", "[", "c", "]"}], "\[Equal]", "1"}], ",",
"\[IndentingNewLine]",
RowBox[{"Return", "[",
RowBox[{"First", "@",
RowBox[{"Differences", "[",
RowBox[{"shrink", "[",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{"Last", "[", "c", "]"}], "-", "r"}], ",",
RowBox[{
RowBox[{"Last", "[", "c", "]"}], "+", "r"}]}], "}"}], "]"}],
"]"}]}], "]"}]}], "\[IndentingNewLine]", "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
RowBox[{
RowBox[{"Can", "'"}], "t", " ", "avoid", " ", "scaling", " ",
"memory", " ", "usage", " ", "with", " ", "hyper", " ", "surface",
" ", "area"}], ",", " ",
RowBox[{
"need", " ", "to", " ", "call", " ", "enumeration", " ",
"module"}]}], " ", "*)"}], "\[IndentingNewLine]",
RowBox[{"lowerdimpoints", "=",
RowBox[{"hyperspherelatticepoints", "[",
RowBox[{
RowBox[{"Rest", "[", "c", "]"}], ",", "r"}], "]"}]}], ";",
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Sum", " ", "and", " ", "output", " ", "the", " ", "counts"}], " ",
"*)"}], "\[IndentingNewLine]",
RowBox[{"counts", "=",
RowBox[{
RowBox[{
RowBox[{"First", "@",
RowBox[{"Differences", "[",
RowBox[{"shrink", "[",
RowBox[{"solve", "[",
RowBox[{"c", ",", "r", ",", "#"}], "]"}], "]"}], "]"}]}],
"&"}], "/@", "lowerdimpoints"}]}], ";", "\[IndentingNewLine]",
RowBox[{"Total", "[", "counts", "]"}]}]}], "\[IndentingNewLine]",
"]"}]}], ";"}], "\[IndentingNewLine]"}]}]], "Input",
CellChangeTimes->{{3.7670026760213842`*^9, 3.767002686869018*^9}, {
3.767002810944816*^9, 3.767002822667961*^9}, {3.7670029259022493`*^9,
3.7670031603708076`*^9}, {3.767003369487659*^9, 3.767003444304954*^9}, {
3.767003529587369*^9, 3.767003532478148*^9}, {3.7670036019186077`*^9,
3.767003604668693*^9}, {3.767003678103093*^9, 3.7670037142257137`*^9}, {
3.76700374858712*^9, 3.767003812469339*^9}, {3.767003871499014*^9,
3.7670040209767103`*^9}, {3.767004071655233*^9, 3.767004118979044*^9}, {
3.7670042253026247`*^9, 3.76700428684028*^9}, {3.767004317404689*^9,
3.767004323790805*^9}, {3.767004401061125*^9, 3.767004450324107*^9}, {
3.767004556537528*^9, 3.7670046983420973`*^9}, {3.7670047351629477`*^9,
3.767004753286077*^9}, {3.767004809007496*^9, 3.767004889024419*^9}, {
3.767004933613003*^9, 3.767004948801425*^9}, {3.767005002229912*^9,
3.767005076412654*^9}, {3.7670051114574213`*^9, 3.767005519750898*^9}, {
3.767005557353373*^9, 3.7670055980816593`*^9}, {3.767005652524879*^9,
3.767005662061961*^9}, {3.76700569550886*^9, 3.7670057059461403`*^9}, {
3.767005762170424*^9, 3.767005791356615*^9}, {3.767005949209354*^9,
3.767005955287126*^9}, {3.767006135383678*^9, 3.767006276786811*^9}, {
3.767006331052581*^9, 3.76700634267968*^9}, {3.767006385043495*^9,
3.7670066071212*^9}, {3.7670066576582737`*^9, 3.767006777866819*^9}, {
3.767006860317803*^9, 3.767006878958795*^9}, {3.76700691376191*^9,
3.767007204476261*^9}, {3.767007241885034*^9, 3.7670072564326468`*^9}, {
3.767007317631131*^9, 3.76700734815374*^9}, {3.7670073889948263`*^9,
3.767007404742825*^9}, {3.767008928355241*^9, 3.767008929404913*^9}, {
3.767008967649189*^9, 3.7670089996189957`*^9}, {3.767009043726203*^9,
3.7670092715151854`*^9}, {3.767009321226178*^9, 3.7670093600396757`*^9}, {
3.767009395814494*^9, 3.767009482117958*^9}, {3.76700952702035*^9,
3.767009604003538*^9}, {3.767009833903664*^9, 3.7670098824702997`*^9}, {
3.7670099239457273`*^9, 3.767010030217182*^9}, {3.76701008082307*^9,
3.767010081666658*^9}, {3.767010126221167*^9, 3.7670101290200653`*^9}, {
3.767010460031539*^9, 3.767010490256095*^9}, {3.7670109195078707`*^9,
3.767011047675166*^9}, {3.7670114931537323`*^9, 3.767011599619782*^9}, {
3.7670116361507196`*^9, 3.767011636688807*^9}, {3.767011683053605*^9,
3.767011687119747*^9}, {3.7670117438603354`*^9, 3.7670118071368237`*^9}, {
3.767011847724627*^9, 3.767011974933654*^9}, {3.767012036869966*^9,
3.767012093169324*^9}, {3.7670121237209167`*^9, 3.767012134657305*^9}, {
3.767012291992728*^9, 3.767012594331564*^9}, {3.767012673314355*^9,
3.767012692515771*^9}, {3.767035430108981*^9, 3.767035557706951*^9}, {
3.767035634482738*^9, 3.767035639056882*^9}, {3.7670356726490498`*^9,
3.767035674426906*^9}, {3.767035718127219*^9, 3.767035931649679*^9}, {
3.767036018984137*^9, 3.767036033059266*^9}, {3.767036087166012*^9,
3.767036093231926*^9}, {3.7670361492653103`*^9, 3.767036234232725*^9}, {
3.76703646091059*^9, 3.767036472770379*^9}, {3.781308059715111*^9,
3.781308064796891*^9}, {3.7813081046723757`*^9, 3.781308181350195*^9}, {
3.781308302720427*^9, 3.7813083244286222`*^9}, 3.781308471993888*^9, {
3.7813085154322042`*^9, 3.7813085312985487`*^9}},
CellLabel->
"In[180]:=",ExpressionUUID->"a4c6674e-9291-488f-9f2f-988950896fab"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"(*", " ", "Input", " ", "*)"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"circle", "=",
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", "10"}], "}"}]}], ";"}],
"\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
"Whether", " ", "to", " ", "graph", " ", "the", " ", "solution", " ",
"in", " ", "2", "D", " ", "or", " ", "3", "D"}], " ", "*)"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"display", "=", "True"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"solution", "=",
RowBox[{"hyperspherelatticepoints", "@@", "circle"}]}], ";"}],
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[",
RowBox[{"\"\<Number of points: \>\"", ",",
RowBox[{"solution", "//", "Length"}]}], "]"}], ";"}]}]}]], "Input",
CellChangeTimes->{{3.781308565780374*^9, 3.781308597619686*^9}, {
3.781308637326542*^9, 3.781308665155683*^9}},
CellLabel->
"In[226]:=",ExpressionUUID->"5ae3a512-043e-4af9-9241-17abb744103a"],
Cell[BoxData[
InterpretationBox[
RowBox[{"\<\"Number of points: \"\>", "\[InvisibleSpace]", "4169"}],
SequenceForm["Number of points: ", 4169],
Editable->False]], "Print",
CellChangeTimes->{
3.781308589945345*^9, {3.781308632108159*^9, 3.781308665715529*^9}},
CellLabel->
"During evaluation of \
In[226]:=",ExpressionUUID->"06fb11ab-0f38-4607-af13-e14f95713e06"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[{
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Length", "[",
RowBox[{"First", "@", "circle"}], "]"}], "\[Equal]", "2"}], "&&",
"display"}], ",",
RowBox[{"Print", "@",
RowBox[{"Graphics", "[",
RowBox[{"{",
RowBox[{"Red", ",",
RowBox[{"Disk", "@@", "circle"}], ",", "Black", ",",
RowBox[{"Point", "/@",
RowBox[{"escribedhypercubelatticepoints", "@@", "circle"}]}], ",",
"White", ",",
RowBox[{"Large", "//", "PointSize"}], ",",
RowBox[{"Point", "/@", "solution"}]}], "}"}], "]"}]}]}], "]"}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"If", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"Length", "[",
RowBox[{"First", "@", "circle"}], "]"}], "\[Equal]", "3"}], "&&",
"display"}], ",",
RowBox[{"Print", "@",
RowBox[{"Graphics3D", "[",
RowBox[{"{",
RowBox[{
RowBox[{"Opacity", "@", ".5"}], ",",
RowBox[{"Sphere", "@@", "circle"}], ",",
RowBox[{"Opacity", "@", "1"}], ",", "Gray", ",",
RowBox[{"Point", "/@",
RowBox[{"escribedhypercubelatticepoints", "@@", "circle"}]}], ",",
"Red", ",",
RowBox[{"Point", "/@", "solution"}]}], "}"}], "]"}]}]}], "]"}],
";"}], "\[IndentingNewLine]",
RowBox[{"(*", " ",
RowBox[{
RowBox[{
"Some", " ", "checks", " ", "for", " ", "verifying", " ", "the", " ",
"solution"}], ",", " ",
RowBox[{
"can", " ", "be", " ", "removed", " ", "for", " ", "real", " ", "use"}]}],
" ", "*)"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[",
RowBox[{"\"\<Are all points in the hypersphere? \>\"", ",",
RowBox[{"AllTrue", "[",
RowBox[{"solution", ",",
RowBox[{
RowBox[{
RowBox[{"Norm", "[",
RowBox[{"#", "-",
RowBox[{"circle", "[",
RowBox[{"[", "1", "]"}], "]"}]}], "]"}], "\[LessEqual]",
RowBox[{"circle", "[",
RowBox[{"[", "2", "]"}], "]"}]}], "&"}]}], "]"}]}], "]"}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[",
RowBox[{"\"\<Are they unique? \>\"", ",",
RowBox[{"DuplicateFreeQ", "[", "solution", "]"}]}], "]"}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[",
RowBox[{"\"\<Are they integers? \>\"", ",",
RowBox[{"AllTrue", "[",
RowBox[{"solution", ",",
RowBox[{
RowBox[{
RowBox[{"IntegerPart", "[", "#", "]"}], "\[Equal]", "#"}], "&"}]}],
"]"}]}], "]"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Print", "[",
RowBox[{
"\"\<Is the solution the same as solving naively with the escribed \
hypercube? \>\"", ",",
RowBox[{
RowBox[{"Sort", "@", "solution"}], "\[Equal]",
RowBox[{"Sort", "@",
RowBox[{"Select", "[",
RowBox[{
RowBox[{"escribedhypercubelatticepoints", "@@", "circle"}], ",",
RowBox[{
RowBox[{
RowBox[{"Norm", "[",
RowBox[{"#", "-",
RowBox[{"circle", "[",
RowBox[{"[", "1", "]"}], "]"}]}], "]"}], "\[LessEqual]",
RowBox[{"circle", "[",
RowBox[{"[", "2", "]"}], "]"}]}], "&"}]}], "]"}]}]}]}], "]"}],
";"}]}], "Input",
CellLabel->
"In[230]:=",ExpressionUUID->"f00709ac-044b-42d2-937d-89d872444bfb"],
Cell[CellGroupData[{
Cell[BoxData[
Graphics3DBox[{
{Opacity[0.5], SphereBox[{0, 0, 0}, 10]},
{GrayLevel[0.5], Opacity[
1], {Point3DBox[{-10, -10, -10}], Point3DBox[{-10, -10, -9}],
Point3DBox[{-10, -10, -8}], Point3DBox[{-10, -10, -7}],
Point3DBox[{-10, -10, -6}], Point3DBox[{-10, -10, -5}],
Point3DBox[{-10, -10, -4}], Point3DBox[{-10, -10, -3}],
Point3DBox[{-10, -10, -2}], Point3DBox[{-10, -10, -1}],
Point3DBox[{-10, -10, 0}], Point3DBox[{-10, -10, 1}],
Point3DBox[{-10, -10, 2}], Point3DBox[{-10, -10, 3}],
Point3DBox[{-10, -10, 4}], Point3DBox[{-10, -10, 5}],
Point3DBox[{-10, -10, 6}], Point3DBox[{-10, -10, 7}],
Point3DBox[{-10, -10, 8}], Point3DBox[{-10, -10, 9}],
Point3DBox[{-10, -10, 10}], Point3DBox[{-10, -9, -10}],
Point3DBox[{-10, -9, -9}], Point3DBox[{-10, -9, -8}],
Point3DBox[{-10, -9, -7}], Point3DBox[{-10, -9, -6}],
Point3DBox[{-10, -9, -5}], Point3DBox[{-10, -9, -4}],
Point3DBox[{-10, -9, -3}], Point3DBox[{-10, -9, -2}],
Point3DBox[{-10, -9, -1}], Point3DBox[{-10, -9, 0}],
Point3DBox[{-10, -9, 1}], Point3DBox[{-10, -9, 2}],
Point3DBox[{-10, -9, 3}], Point3DBox[{-10, -9, 4}],
Point3DBox[{-10, -9, 5}], Point3DBox[{-10, -9, 6}],
Point3DBox[{-10, -9, 7}], Point3DBox[{-10, -9, 8}],
Point3DBox[{-10, -9, 9}], Point3DBox[{-10, -9, 10}],
Point3DBox[{-10, -8, -10}], Point3DBox[{-10, -8, -9}],
Point3DBox[{-10, -8, -8}], Point3DBox[{-10, -8, -7}],
Point3DBox[{-10, -8, -6}], Point3DBox[{-10, -8, -5}],
Point3DBox[{-10, -8, -4}], Point3DBox[{-10, -8, -3}],
Point3DBox[{-10, -8, -2}], Point3DBox[{-10, -8, -1}],
Point3DBox[{-10, -8, 0}], Point3DBox[{-10, -8, 1}],
Point3DBox[{-10, -8, 2}], Point3DBox[{-10, -8, 3}],
Point3DBox[{-10, -8, 4}], Point3DBox[{-10, -8, 5}],
Point3DBox[{-10, -8, 6}], Point3DBox[{-10, -8, 7}],
Point3DBox[{-10, -8, 8}], Point3DBox[{-10, -8, 9}],
Point3DBox[{-10, -8, 10}], Point3DBox[{-10, -7, -10}],
Point3DBox[{-10, -7, -9}], Point3DBox[{-10, -7, -8}],
Point3DBox[{-10, -7, -7}], Point3DBox[{-10, -7, -6}],
Point3DBox[{-10, -7, -5}], Point3DBox[{-10, -7, -4}],
Point3DBox[{-10, -7, -3}], Point3DBox[{-10, -7, -2}],
Point3DBox[{-10, -7, -1}], Point3DBox[{-10, -7, 0}],
Point3DBox[{-10, -7, 1}], Point3DBox[{-10, -7, 2}],
Point3DBox[{-10, -7, 3}], Point3DBox[{-10, -7, 4}],
Point3DBox[{-10, -7, 5}], Point3DBox[{-10, -7, 6}],
Point3DBox[{-10, -7, 7}], Point3DBox[{-10, -7, 8}],
Point3DBox[{-10, -7, 9}], Point3DBox[{-10, -7, 10}],
Point3DBox[{-10, -6, -10}], Point3DBox[{-10, -6, -9}],
Point3DBox[{-10, -6, -8}], Point3DBox[{-10, -6, -7}],
Point3DBox[{-10, -6, -6}], Point3DBox[{-10, -6, -5}],
Point3DBox[{-10, -6, -4}], Point3DBox[{-10, -6, -3}],
Point3DBox[{-10, -6, -2}], Point3DBox[{-10, -6, -1}],
Point3DBox[{-10, -6, 0}], Point3DBox[{-10, -6, 1}],
Point3DBox[{-10, -6, 2}], Point3DBox[{-10, -6, 3}],
Point3DBox[{-10, -6, 4}], Point3DBox[{-10, -6, 5}],
Point3DBox[{-10, -6, 6}], Point3DBox[{-10, -6, 7}],
Point3DBox[{-10, -6, 8}], Point3DBox[{-10, -6, 9}],
Point3DBox[{-10, -6, 10}], Point3DBox[{-10, -5, -10}],
Point3DBox[{-10, -5, -9}], Point3DBox[{-10, -5, -8}],
Point3DBox[{-10, -5, -7}], Point3DBox[{-10, -5, -6}],
Point3DBox[{-10, -5, -5}], Point3DBox[{-10, -5, -4}],
Point3DBox[{-10, -5, -3}], Point3DBox[{-10, -5, -2}],
Point3DBox[{-10, -5, -1}], Point3DBox[{-10, -5, 0}],
Point3DBox[{-10, -5, 1}], Point3DBox[{-10, -5, 2}],
Point3DBox[{-10, -5, 3}], Point3DBox[{-10, -5, 4}],
Point3DBox[{-10, -5, 5}], Point3DBox[{-10, -5, 6}],
Point3DBox[{-10, -5, 7}], Point3DBox[{-10, -5, 8}],
Point3DBox[{-10, -5, 9}], Point3DBox[{-10, -5, 10}],
Point3DBox[{-10, -4, -10}], Point3DBox[{-10, -4, -9}],
Point3DBox[{-10, -4, -8}], Point3DBox[{-10, -4, -7}],
Point3DBox[{-10, -4, -6}], Point3DBox[{-10, -4, -5}],
Point3DBox[{-10, -4, -4}], Point3DBox[{-10, -4, -3}],
Point3DBox[{-10, -4, -2}], Point3DBox[{-10, -4, -1}],
Point3DBox[{-10, -4, 0}], Point3DBox[{-10, -4, 1}],
Point3DBox[{-10, -4, 2}], Point3DBox[{-10, -4, 3}],
Point3DBox[{-10, -4, 4}], Point3DBox[{-10, -4, 5}],
Point3DBox[{-10, -4, 6}], Point3DBox[{-10, -4, 7}],
Point3DBox[{-10, -4, 8}], Point3DBox[{-10, -4, 9}],
Point3DBox[{-10, -4, 10}], Point3DBox[{-10, -3, -10}],
Point3DBox[{-10, -3, -9}], Point3DBox[{-10, -3, -8}],
Point3DBox[{-10, -3, -7}], Point3DBox[{-10, -3, -6}],
Point3DBox[{-10, -3, -5}], Point3DBox[{-10, -3, -4}],
Point3DBox[{-10, -3, -3}], Point3DBox[{-10, -3, -2}],
Point3DBox[{-10, -3, -1}], Point3DBox[{-10, -3, 0}],
Point3DBox[{-10, -3, 1}], Point3DBox[{-10, -3, 2}],
Point3DBox[{-10, -3, 3}], Point3DBox[{-10, -3, 4}],
Point3DBox[{-10, -3, 5}], Point3DBox[{-10, -3, 6}],
Point3DBox[{-10, -3, 7}], Point3DBox[{-10, -3, 8}],
Point3DBox[{-10, -3, 9}], Point3DBox[{-10, -3, 10}],
Point3DBox[{-10, -2, -10}], Point3DBox[{-10, -2, -9}],
Point3DBox[{-10, -2, -8}], Point3DBox[{-10, -2, -7}],
Point3DBox[{-10, -2, -6}], Point3DBox[{-10, -2, -5}],
Point3DBox[{-10, -2, -4}], Point3DBox[{-10, -2, -3}],
Point3DBox[{-10, -2, -2}], Point3DBox[{-10, -2, -1}],
Point3DBox[{-10, -2, 0}], Point3DBox[{-10, -2, 1}],
Point3DBox[{-10, -2, 2}], Point3DBox[{-10, -2, 3}],
Point3DBox[{-10, -2, 4}], Point3DBox[{-10, -2, 5}],
Point3DBox[{-10, -2, 6}], Point3DBox[{-10, -2, 7}],
Point3DBox[{-10, -2, 8}], Point3DBox[{-10, -2, 9}],
Point3DBox[{-10, -2, 10}], Point3DBox[{-10, -1, -10}],
Point3DBox[{-10, -1, -9}], Point3DBox[{-10, -1, -8}],
Point3DBox[{-10, -1, -7}], Point3DBox[{-10, -1, -6}],
Point3DBox[{-10, -1, -5}], Point3DBox[{-10, -1, -4}],
Point3DBox[{-10, -1, -3}], Point3DBox[{-10, -1, -2}],
Point3DBox[{-10, -1, -1}], Point3DBox[{-10, -1, 0}],
Point3DBox[{-10, -1, 1}], Point3DBox[{-10, -1, 2}],
Point3DBox[{-10, -1, 3}], Point3DBox[{-10, -1, 4}],
Point3DBox[{-10, -1, 5}], Point3DBox[{-10, -1, 6}],
Point3DBox[{-10, -1, 7}], Point3DBox[{-10, -1, 8}],
Point3DBox[{-10, -1, 9}], Point3DBox[{-10, -1, 10}],
Point3DBox[{-10, 0, -10}], Point3DBox[{-10, 0, -9}],
Point3DBox[{-10, 0, -8}], Point3DBox[{-10, 0, -7}],
Point3DBox[{-10, 0, -6}], Point3DBox[{-10, 0, -5}],
Point3DBox[{-10, 0, -4}], Point3DBox[{-10, 0, -3}],
Point3DBox[{-10, 0, -2}], Point3DBox[{-10, 0, -1}],
Point3DBox[{-10, 0, 0}], Point3DBox[{-10, 0, 1}],
Point3DBox[{-10, 0, 2}], Point3DBox[{-10, 0, 3}],
Point3DBox[{-10, 0, 4}], Point3DBox[{-10, 0, 5}],
Point3DBox[{-10, 0, 6}], Point3DBox[{-10, 0, 7}],
Point3DBox[{-10, 0, 8}], Point3DBox[{-10, 0, 9}],
Point3DBox[{-10, 0, 10}], Point3DBox[{-10, 1, -10}],
Point3DBox[{-10, 1, -9}], Point3DBox[{-10, 1, -8}],
Point3DBox[{-10, 1, -7}], Point3DBox[{-10, 1, -6}],
Point3DBox[{-10, 1, -5}], Point3DBox[{-10, 1, -4}],
Point3DBox[{-10, 1, -3}], Point3DBox[{-10, 1, -2}],
Point3DBox[{-10, 1, -1}], Point3DBox[{-10, 1, 0}],
Point3DBox[{-10, 1, 1}], Point3DBox[{-10, 1, 2}],
Point3DBox[{-10, 1, 3}], Point3DBox[{-10, 1, 4}],
Point3DBox[{-10, 1, 5}], Point3DBox[{-10, 1, 6}],
Point3DBox[{-10, 1, 7}], Point3DBox[{-10, 1, 8}],
Point3DBox[{-10, 1, 9}], Point3DBox[{-10, 1, 10}],
Point3DBox[{-10, 2, -10}], Point3DBox[{-10, 2, -9}],
Point3DBox[{-10, 2, -8}], Point3DBox[{-10, 2, -7}],
Point3DBox[{-10, 2, -6}], Point3DBox[{-10, 2, -5}],
Point3DBox[{-10, 2, -4}], Point3DBox[{-10, 2, -3}],
Point3DBox[{-10, 2, -2}], Point3DBox[{-10, 2, -1}],
Point3DBox[{-10, 2, 0}], Point3DBox[{-10, 2, 1}],
Point3DBox[{-10, 2, 2}], Point3DBox[{-10, 2, 3}],
Point3DBox[{-10, 2, 4}], Point3DBox[{-10, 2, 5}],
Point3DBox[{-10, 2, 6}], Point3DBox[{-10, 2, 7}],
Point3DBox[{-10, 2, 8}], Point3DBox[{-10, 2, 9}],
Point3DBox[{-10, 2, 10}], Point3DBox[{-10, 3, -10}],
Point3DBox[{-10, 3, -9}], Point3DBox[{-10, 3, -8}],
Point3DBox[{-10, 3, -7}], Point3DBox[{-10, 3, -6}],
Point3DBox[{-10, 3, -5}], Point3DBox[{-10, 3, -4}],
Point3DBox[{-10, 3, -3}], Point3DBox[{-10, 3, -2}],
Point3DBox[{-10, 3, -1}], Point3DBox[{-10, 3, 0}],
Point3DBox[{-10, 3, 1}], Point3DBox[{-10, 3, 2}],
Point3DBox[{-10, 3, 3}], Point3DBox[{-10, 3, 4}],
Point3DBox[{-10, 3, 5}], Point3DBox[{-10, 3, 6}],
Point3DBox[{-10, 3, 7}], Point3DBox[{-10, 3, 8}],
Point3DBox[{-10, 3, 9}], Point3DBox[{-10, 3, 10}],
Point3DBox[{-10, 4, -10}], Point3DBox[{-10, 4, -9}],
Point3DBox[{-10, 4, -8}], Point3DBox[{-10, 4, -7}],
Point3DBox[{-10, 4, -6}], Point3DBox[{-10, 4, -5}],
Point3DBox[{-10, 4, -4}], Point3DBox[{-10, 4, -3}],
Point3DBox[{-10, 4, -2}], Point3DBox[{-10, 4, -1}],
Point3DBox[{-10, 4, 0}], Point3DBox[{-10, 4, 1}],
Point3DBox[{-10, 4, 2}], Point3DBox[{-10, 4, 3}],
Point3DBox[{-10, 4, 4}], Point3DBox[{-10, 4, 5}],
Point3DBox[{-10, 4, 6}], Point3DBox[{-10, 4, 7}],
Point3DBox[{-10, 4, 8}], Point3DBox[{-10, 4, 9}],
Point3DBox[{-10, 4, 10}], Point3DBox[{-10, 5, -10}],
Point3DBox[{-10, 5, -9}], Point3DBox[{-10, 5, -8}],
Point3DBox[{-10, 5, -7}], Point3DBox[{-10, 5, -6}],
Point3DBox[{-10, 5, -5}], Point3DBox[{-10, 5, -4}],
Point3DBox[{-10, 5, -3}], Point3DBox[{-10, 5, -2}],
Point3DBox[{-10, 5, -1}], Point3DBox[{-10, 5, 0}],
Point3DBox[{-10, 5, 1}], Point3DBox[{-10, 5, 2}],
Point3DBox[{-10, 5, 3}], Point3DBox[{-10, 5, 4}],
Point3DBox[{-10, 5, 5}], Point3DBox[{-10, 5, 6}],
Point3DBox[{-10, 5, 7}], Point3DBox[{-10, 5, 8}],
Point3DBox[{-10, 5, 9}], Point3DBox[{-10, 5, 10}],
Point3DBox[{-10, 6, -10}], Point3DBox[{-10, 6, -9}],
Point3DBox[{-10, 6, -8}], Point3DBox[{-10, 6, -7}],
Point3DBox[{-10, 6, -6}], Point3DBox[{-10, 6, -5}],
Point3DBox[{-10, 6, -4}], Point3DBox[{-10, 6, -3}],
Point3DBox[{-10, 6, -2}], Point3DBox[{-10, 6, -1}],
Point3DBox[{-10, 6, 0}], Point3DBox[{-10, 6, 1}],
Point3DBox[{-10, 6, 2}], Point3DBox[{-10, 6, 3}],
Point3DBox[{-10, 6, 4}], Point3DBox[{-10, 6, 5}],
Point3DBox[{-10, 6, 6}], Point3DBox[{-10, 6, 7}],
Point3DBox[{-10, 6, 8}], Point3DBox[{-10, 6, 9}],
Point3DBox[{-10, 6, 10}], Point3DBox[{-10, 7, -10}],
Point3DBox[{-10, 7, -9}], Point3DBox[{-10, 7, -8}],
Point3DBox[{-10, 7, -7}], Point3DBox[{-10, 7, -6}],
Point3DBox[{-10, 7, -5}], Point3DBox[{-10, 7, -4}],
Point3DBox[{-10, 7, -3}], Point3DBox[{-10, 7, -2}],
Point3DBox[{-10, 7, -1}], Point3DBox[{-10, 7, 0}],
Point3DBox[{-10, 7, 1}], Point3DBox[{-10, 7, 2}],
Point3DBox[{-10, 7, 3}], Point3DBox[{-10, 7, 4}],
Point3DBox[{-10, 7, 5}], Point3DBox[{-10, 7, 6}],
Point3DBox[{-10, 7, 7}], Point3DBox[{-10, 7, 8}],
Point3DBox[{-10, 7, 9}], Point3DBox[{-10, 7, 10}],
Point3DBox[{-10, 8, -10}], Point3DBox[{-10, 8, -9}],
Point3DBox[{-10, 8, -8}], Point3DBox[{-10, 8, -7}],
Point3DBox[{-10, 8, -6}], Point3DBox[{-10, 8, -5}],
Point3DBox[{-10, 8, -4}], Point3DBox[{-10, 8, -3}],
Point3DBox[{-10, 8, -2}], Point3DBox[{-10, 8, -1}],
Point3DBox[{-10, 8, 0}], Point3DBox[{-10, 8, 1}],
Point3DBox[{-10, 8, 2}], Point3DBox[{-10, 8, 3}],
Point3DBox[{-10, 8, 4}], Point3DBox[{-10, 8, 5}],
Point3DBox[{-10, 8, 6}], Point3DBox[{-10, 8, 7}],
Point3DBox[{-10, 8, 8}], Point3DBox[{-10, 8, 9}],
Point3DBox[{-10, 8, 10}], Point3DBox[{-10, 9, -10}],
Point3DBox[{-10, 9, -9}], Point3DBox[{-10, 9, -8}],
Point3DBox[{-10, 9, -7}], Point3DBox[{-10, 9, -6}],
Point3DBox[{-10, 9, -5}], Point3DBox[{-10, 9, -4}],
Point3DBox[{-10, 9, -3}], Point3DBox[{-10, 9, -2}],
Point3DBox[{-10, 9, -1}], Point3DBox[{-10, 9, 0}],
Point3DBox[{-10, 9, 1}], Point3DBox[{-10, 9, 2}],
Point3DBox[{-10, 9, 3}], Point3DBox[{-10, 9, 4}],
Point3DBox[{-10, 9, 5}], Point3DBox[{-10, 9, 6}],
Point3DBox[{-10, 9, 7}], Point3DBox[{-10, 9, 8}],
Point3DBox[{-10, 9, 9}], Point3DBox[{-10, 9, 10}],
Point3DBox[{-10, 10, -10}], Point3DBox[{-10, 10, -9}],
Point3DBox[{-10, 10, -8}], Point3DBox[{-10, 10, -7}],
Point3DBox[{-10, 10, -6}], Point3DBox[{-10, 10, -5}],
Point3DBox[{-10, 10, -4}], Point3DBox[{-10, 10, -3}],
Point3DBox[{-10, 10, -2}], Point3DBox[{-10, 10, -1}],
Point3DBox[{-10, 10, 0}], Point3DBox[{-10, 10, 1}],
Point3DBox[{-10, 10, 2}], Point3DBox[{-10, 10, 3}],
Point3DBox[{-10, 10, 4}], Point3DBox[{-10, 10, 5}],
Point3DBox[{-10, 10, 6}], Point3DBox[{-10, 10, 7}],
Point3DBox[{-10, 10, 8}], Point3DBox[{-10, 10, 9}],
Point3DBox[{-10, 10, 10}], Point3DBox[{-9, -10, -10}],
Point3DBox[{-9, -10, -9}], Point3DBox[{-9, -10, -8}],
Point3DBox[{-9, -10, -7}], Point3DBox[{-9, -10, -6}],
Point3DBox[{-9, -10, -5}], Point3DBox[{-9, -10, -4}],
Point3DBox[{-9, -10, -3}], Point3DBox[{-9, -10, -2}],
Point3DBox[{-9, -10, -1}], Point3DBox[{-9, -10, 0}],
Point3DBox[{-9, -10, 1}], Point3DBox[{-9, -10, 2}],
Point3DBox[{-9, -10, 3}], Point3DBox[{-9, -10, 4}],
Point3DBox[{-9, -10, 5}], Point3DBox[{-9, -10, 6}],
Point3DBox[{-9, -10, 7}], Point3DBox[{-9, -10, 8}],
Point3DBox[{-9, -10, 9}], Point3DBox[{-9, -10, 10}],
Point3DBox[{-9, -9, -10}], Point3DBox[{-9, -9, -9}],
Point3DBox[{-9, -9, -8}], Point3DBox[{-9, -9, -7}],
Point3DBox[{-9, -9, -6}], Point3DBox[{-9, -9, -5}],
Point3DBox[{-9, -9, -4}], Point3DBox[{-9, -9, -3}],
Point3DBox[{-9, -9, -2}], Point3DBox[{-9, -9, -1}],
Point3DBox[{-9, -9, 0}], Point3DBox[{-9, -9, 1}],
Point3DBox[{-9, -9, 2}], Point3DBox[{-9, -9, 3}],
Point3DBox[{-9, -9, 4}], Point3DBox[{-9, -9, 5}],
Point3DBox[{-9, -9, 6}], Point3DBox[{-9, -9, 7}],
Point3DBox[{-9, -9, 8}], Point3DBox[{-9, -9, 9}],
Point3DBox[{-9, -9, 10}], Point3DBox[{-9, -8, -10}],
Point3DBox[{-9, -8, -9}], Point3DBox[{-9, -8, -8}],
Point3DBox[{-9, -8, -7}], Point3DBox[{-9, -8, -6}],
Point3DBox[{-9, -8, -5}], Point3DBox[{-9, -8, -4}],
Point3DBox[{-9, -8, -3}], Point3DBox[{-9, -8, -2}],
Point3DBox[{-9, -8, -1}], Point3DBox[{-9, -8, 0}],
Point3DBox[{-9, -8, 1}], Point3DBox[{-9, -8, 2}],
Point3DBox[{-9, -8, 3}], Point3DBox[{-9, -8, 4}],
Point3DBox[{-9, -8, 5}], Point3DBox[{-9, -8, 6}],
Point3DBox[{-9, -8, 7}], Point3DBox[{-9, -8, 8}],
Point3DBox[{-9, -8, 9}], Point3DBox[{-9, -8, 10}],
Point3DBox[{-9, -7, -10}], Point3DBox[{-9, -7, -9}],
Point3DBox[{-9, -7, -8}], Point3DBox[{-9, -7, -7}],
Point3DBox[{-9, -7, -6}], Point3DBox[{-9, -7, -5}],
Point3DBox[{-9, -7, -4}], Point3DBox[{-9, -7, -3}],
Point3DBox[{-9, -7, -2}], Point3DBox[{-9, -7, -1}],
Point3DBox[{-9, -7, 0}], Point3DBox[{-9, -7, 1}],
Point3DBox[{-9, -7, 2}], Point3DBox[{-9, -7, 3}],
Point3DBox[{-9, -7, 4}], Point3DBox[{-9, -7, 5}],
Point3DBox[{-9, -7, 6}], Point3DBox[{-9, -7, 7}],
Point3DBox[{-9, -7, 8}], Point3DBox[{-9, -7, 9}],
Point3DBox[{-9, -7, 10}], Point3DBox[{-9, -6, -10}],
Point3DBox[{-9, -6, -9}], Point3DBox[{-9, -6, -8}],
Point3DBox[{-9, -6, -7}], Point3DBox[{-9, -6, -6}],
Point3DBox[{-9, -6, -5}], Point3DBox[{-9, -6, -4}],
Point3DBox[{-9, -6, -3}], Point3DBox[{-9, -6, -2}],
Point3DBox[{-9, -6, -1}], Point3DBox[{-9, -6, 0}],
Point3DBox[{-9, -6, 1}], Point3DBox[{-9, -6, 2}],
Point3DBox[{-9, -6, 3}], Point3DBox[{-9, -6, 4}],
Point3DBox[{-9, -6, 5}], Point3DBox[{-9, -6, 6}],
Point3DBox[{-9, -6, 7}], Point3DBox[{-9, -6, 8}],
Point3DBox[{-9, -6, 9}], Point3DBox[{-9, -6, 10}],
Point3DBox[{-9, -5, -10}], Point3DBox[{-9, -5, -9}],
Point3DBox[{-9, -5, -8}], Point3DBox[{-9, -5, -7}],
Point3DBox[{-9, -5, -6}], Point3DBox[{-9, -5, -5}],
Point3DBox[{-9, -5, -4}], Point3DBox[{-9, -5, -3}],
Point3DBox[{-9, -5, -2}], Point3DBox[{-9, -5, -1}],
Point3DBox[{-9, -5, 0}], Point3DBox[{-9, -5, 1}],
Point3DBox[{-9, -5, 2}], Point3DBox[{-9, -5, 3}],
Point3DBox[{-9, -5, 4}], Point3DBox[{-9, -5, 5}],
Point3DBox[{-9, -5, 6}], Point3DBox[{-9, -5, 7}],
Point3DBox[{-9, -5, 8}], Point3DBox[{-9, -5, 9}],
Point3DBox[{-9, -5, 10}], Point3DBox[{-9, -4, -10}],
Point3DBox[{-9, -4, -9}], Point3DBox[{-9, -4, -8}],
Point3DBox[{-9, -4, -7}], Point3DBox[{-9, -4, -6}],
Point3DBox[{-9, -4, -5}], Point3DBox[{-9, -4, -4}],
Point3DBox[{-9, -4, -3}], Point3DBox[{-9, -4, -2}],
Point3DBox[{-9, -4, -1}], Point3DBox[{-9, -4, 0}],
Point3DBox[{-9, -4, 1}], Point3DBox[{-9, -4, 2}],
Point3DBox[{-9, -4, 3}], Point3DBox[{-9, -4, 4}],
Point3DBox[{-9, -4, 5}], Point3DBox[{-9, -4, 6}],
Point3DBox[{-9, -4, 7}], Point3DBox[{-9, -4, 8}],
Point3DBox[{-9, -4, 9}], Point3DBox[{-9, -4, 10}],
Point3DBox[{-9, -3, -10}], Point3DBox[{-9, -3, -9}],
Point3DBox[{-9, -3, -8}], Point3DBox[{-9, -3, -7}],
Point3DBox[{-9, -3, -6}], Point3DBox[{-9, -3, -5}],
Point3DBox[{-9, -3, -4}], Point3DBox[{-9, -3, -3}],
Point3DBox[{-9, -3, -2}], Point3DBox[{-9, -3, -1}],
Point3DBox[{-9, -3, 0}], Point3DBox[{-9, -3, 1}],
Point3DBox[{-9, -3, 2}], Point3DBox[{-9, -3, 3}],
Point3DBox[{-9, -3, 4}], Point3DBox[{-9, -3, 5}],
Point3DBox[{-9, -3, 6}], Point3DBox[{-9, -3, 7}],
Point3DBox[{-9, -3, 8}], Point3DBox[{-9, -3, 9}],
Point3DBox[{-9, -3, 10}], Point3DBox[{-9, -2, -10}],
Point3DBox[{-9, -2, -9}], Point3DBox[{-9, -2, -8}],
Point3DBox[{-9, -2, -7}], Point3DBox[{-9, -2, -6}],
Point3DBox[{-9, -2, -5}], Point3DBox[{-9, -2, -4}],
Point3DBox[{-9, -2, -3}], Point3DBox[{-9, -2, -2}],
Point3DBox[{-9, -2, -1}], Point3DBox[{-9, -2, 0}],
Point3DBox[{-9, -2, 1}], Point3DBox[{-9, -2, 2}],
Point3DBox[{-9, -2, 3}], Point3DBox[{-9, -2, 4}],
Point3DBox[{-9, -2, 5}], Point3DBox[{-9, -2, 6}],
Point3DBox[{-9, -2, 7}], Point3DBox[{-9, -2, 8}],
Point3DBox[{-9, -2, 9}], Point3DBox[{-9, -2, 10}],
Point3DBox[{-9, -1, -10}], Point3DBox[{-9, -1, -9}],
Point3DBox[{-9, -1, -8}], Point3DBox[{-9, -1, -7}],
Point3DBox[{-9, -1, -6}], Point3DBox[{-9, -1, -5}],
Point3DBox[{-9, -1, -4}], Point3DBox[{-9, -1, -3}],
Point3DBox[{-9, -1, -2}], Point3DBox[{-9, -1, -1}],
Point3DBox[{-9, -1, 0}], Point3DBox[{-9, -1, 1}],
Point3DBox[{-9, -1, 2}], Point3DBox[{-9, -1, 3}],
Point3DBox[{-9, -1, 4}], Point3DBox[{-9, -1, 5}],
Point3DBox[{-9, -1, 6}], Point3DBox[{-9, -1, 7}],
Point3DBox[{-9, -1, 8}], Point3DBox[{-9, -1, 9}],
Point3DBox[{-9, -1, 10}], Point3DBox[{-9, 0, -10}],
Point3DBox[{-9, 0, -9}], Point3DBox[{-9, 0, -8}],
Point3DBox[{-9, 0, -7}], Point3DBox[{-9, 0, -6}],
Point3DBox[{-9, 0, -5}], Point3DBox[{-9, 0, -4}],
Point3DBox[{-9, 0, -3}], Point3DBox[{-9, 0, -2}],
Point3DBox[{-9, 0, -1}], Point3DBox[{-9, 0, 0}], Point3DBox[{-9, 0, 1}],
Point3DBox[{-9, 0, 2}], Point3DBox[{-9, 0, 3}], Point3DBox[{-9, 0, 4}],
Point3DBox[{-9, 0, 5}], Point3DBox[{-9, 0, 6}], Point3DBox[{-9, 0, 7}],
Point3DBox[{-9, 0, 8}], Point3DBox[{-9, 0, 9}], Point3DBox[{-9, 0, 10}],
Point3DBox[{-9, 1, -10}], Point3DBox[{-9, 1, -9}],
Point3DBox[{-9, 1, -8}], Point3DBox[{-9, 1, -7}],
Point3DBox[{-9, 1, -6}], Point3DBox[{-9, 1, -5}],
Point3DBox[{-9, 1, -4}], Point3DBox[{-9, 1, -3}],
Point3DBox[{-9, 1, -2}], Point3DBox[{-9, 1, -1}], Point3DBox[{-9, 1, 0}],
Point3DBox[{-9, 1, 1}], Point3DBox[{-9, 1, 2}], Point3DBox[{-9, 1, 3}],
Point3DBox[{-9, 1, 4}], Point3DBox[{-9, 1, 5}], Point3DBox[{-9, 1, 6}],
Point3DBox[{-9, 1, 7}], Point3DBox[{-9, 1, 8}], Point3DBox[{-9, 1, 9}],
Point3DBox[{-9, 1, 10}], Point3DBox[{-9, 2, -10}],
Point3DBox[{-9, 2, -9}], Point3DBox[{-9, 2, -8}],
Point3DBox[{-9, 2, -7}], Point3DBox[{-9, 2, -6}],
Point3DBox[{-9, 2, -5}], Point3DBox[{-9, 2, -4}],
Point3DBox[{-9, 2, -3}], Point3DBox[{-9, 2, -2}],
Point3DBox[{-9, 2, -1}], Point3DBox[{-9, 2, 0}], Point3DBox[{-9, 2, 1}],
Point3DBox[{-9, 2, 2}], Point3DBox[{-9, 2, 3}], Point3DBox[{-9, 2, 4}],
Point3DBox[{-9, 2, 5}], Point3DBox[{-9, 2, 6}], Point3DBox[{-9, 2, 7}],
Point3DBox[{-9, 2, 8}], Point3DBox[{-9, 2, 9}], Point3DBox[{-9, 2, 10}],
Point3DBox[{-9, 3, -10}], Point3DBox[{-9, 3, -9}],
Point3DBox[{-9, 3, -8}], Point3DBox[{-9, 3, -7}],
Point3DBox[{-9, 3, -6}], Point3DBox[{-9, 3, -5}],
Point3DBox[{-9, 3, -4}], Point3DBox[{-9, 3, -3}],
Point3DBox[{-9, 3, -2}], Point3DBox[{-9, 3, -1}], Point3DBox[{-9, 3, 0}],
Point3DBox[{-9, 3, 1}], Point3DBox[{-9, 3, 2}], Point3DBox[{-9, 3, 3}],
Point3DBox[{-9, 3, 4}], Point3DBox[{-9, 3, 5}], Point3DBox[{-9, 3, 6}],
Point3DBox[{-9, 3, 7}], Point3DBox[{-9, 3, 8}], Point3DBox[{-9, 3, 9}],
Point3DBox[{-9, 3, 10}], Point3DBox[{-9, 4, -10}],
Point3DBox[{-9, 4, -9}], Point3DBox[{-9, 4, -8}],
Point3DBox[{-9, 4, -7}], Point3DBox[{-9, 4, -6}],
Point3DBox[{-9, 4, -5}], Point3DBox[{-9, 4, -4}],
Point3DBox[{-9, 4, -3}], Point3DBox[{-9, 4, -2}],
Point3DBox[{-9, 4, -1}], Point3DBox[{-9, 4, 0}], Point3DBox[{-9, 4, 1}],
Point3DBox[{-9, 4, 2}], Point3DBox[{-9, 4, 3}], Point3DBox[{-9, 4, 4}],
Point3DBox[{-9, 4, 5}], Point3DBox[{-9, 4, 6}], Point3DBox[{-9, 4, 7}],
Point3DBox[{-9, 4, 8}], Point3DBox[{-9, 4, 9}], Point3DBox[{-9, 4, 10}],
Point3DBox[{-9, 5, -10}], Point3DBox[{-9, 5, -9}],
Point3DBox[{-9, 5, -8}], Point3DBox[{-9, 5, -7}],
Point3DBox[{-9, 5, -6}], Point3DBox[{-9, 5, -5}],
Point3DBox[{-9, 5, -4}], Point3DBox[{-9, 5, -3}],
Point3DBox[{-9, 5, -2}], Point3DBox[{-9, 5, -1}], Point3DBox[{-9, 5, 0}],
Point3DBox[{-9, 5, 1}], Point3DBox[{-9, 5, 2}], Point3DBox[{-9, 5, 3}],
Point3DBox[{-9, 5, 4}], Point3DBox[{-9, 5, 5}], Point3DBox[{-9, 5, 6}],
Point3DBox[{-9, 5, 7}], Point3DBox[{-9, 5, 8}], Point3DBox[{-9, 5, 9}],
Point3DBox[{-9, 5, 10}], Point3DBox[{-9, 6, -10}],
Point3DBox[{-9, 6, -9}], Point3DBox[{-9, 6, -8}],
Point3DBox[{-9, 6, -7}], Point3DBox[{-9, 6, -6}],
Point3DBox[{-9, 6, -5}], Point3DBox[{-9, 6, -4}],
Point3DBox[{-9, 6, -3}], Point3DBox[{-9, 6, -2}],
Point3DBox[{-9, 6, -1}], Point3DBox[{-9, 6, 0}], Point3DBox[{-9, 6, 1}],
Point3DBox[{-9, 6, 2}], Point3DBox[{-9, 6, 3}], Point3DBox[{-9, 6, 4}],
Point3DBox[{-9, 6, 5}], Point3DBox[{-9, 6, 6}], Point3DBox[{-9, 6, 7}],
Point3DBox[{-9, 6, 8}], Point3DBox[{-9, 6, 9}], Point3DBox[{-9, 6, 10}],
Point3DBox[{-9, 7, -10}], Point3DBox[{-9, 7, -9}],
Point3DBox[{-9, 7, -8}], Point3DBox[{-9, 7, -7}],
Point3DBox[{-9, 7, -6}], Point3DBox[{-9, 7, -5}],
Point3DBox[{-9, 7, -4}], Point3DBox[{-9, 7, -3}],
Point3DBox[{-9, 7, -2}], Point3DBox[{-9, 7, -1}], Point3DBox[{-9, 7, 0}],
Point3DBox[{-9, 7, 1}], Point3DBox[{-9, 7, 2}], Point3DBox[{-9, 7, 3}],
Point3DBox[{-9, 7, 4}], Point3DBox[{-9, 7, 5}], Point3DBox[{-9, 7, 6}],
Point3DBox[{-9, 7, 7}], Point3DBox[{-9, 7, 8}], Point3DBox[{-9, 7, 9}],
Point3DBox[{-9, 7, 10}], Point3DBox[{-9, 8, -10}],
Point3DBox[{-9, 8, -9}], Point3DBox[{-9, 8, -8}],
Point3DBox[{-9, 8, -7}], Point3DBox[{-9, 8, -6}],
Point3DBox[{-9, 8, -5}], Point3DBox[{-9, 8, -4}],
Point3DBox[{-9, 8, -3}], Point3DBox[{-9, 8, -2}],
Point3DBox[{-9, 8, -1}], Point3DBox[{-9, 8, 0}], Point3DBox[{-9, 8, 1}],
Point3DBox[{-9, 8, 2}], Point3DBox[{-9, 8, 3}], Point3DBox[{-9, 8, 4}],
Point3DBox[{-9, 8, 5}], Point3DBox[{-9, 8, 6}], Point3DBox[{-9, 8, 7}],
Point3DBox[{-9, 8, 8}], Point3DBox[{-9, 8, 9}], Point3DBox[{-9, 8, 10}],
Point3DBox[{-9, 9, -10}], Point3DBox[{-9, 9, -9}],
Point3DBox[{-9, 9, -8}], Point3DBox[{-9, 9, -7}],
Point3DBox[{-9, 9, -6}], Point3DBox[{-9, 9, -5}],
Point3DBox[{-9, 9, -4}], Point3DBox[{-9, 9, -3}],
Point3DBox[{-9, 9, -2}], Point3DBox[{-9, 9, -1}], Point3DBox[{-9, 9, 0}],
Point3DBox[{-9, 9, 1}], Point3DBox[{-9, 9, 2}], Point3DBox[{-9, 9, 3}],
Point3DBox[{-9, 9, 4}], Point3DBox[{-9, 9, 5}], Point3DBox[{-9, 9, 6}],
Point3DBox[{-9, 9, 7}], Point3DBox[{-9, 9, 8}], Point3DBox[{-9, 9, 9}],
Point3DBox[{-9, 9, 10}], Point3DBox[{-9, 10, -10}],
Point3DBox[{-9, 10, -9}], Point3DBox[{-9, 10, -8}],
Point3DBox[{-9, 10, -7}], Point3DBox[{-9, 10, -6}],
Point3DBox[{-9, 10, -5}], Point3DBox[{-9, 10, -4}],
Point3DBox[{-9, 10, -3}], Point3DBox[{-9, 10, -2}],
Point3DBox[{-9, 10, -1}], Point3DBox[{-9, 10, 0}],
Point3DBox[{-9, 10, 1}], Point3DBox[{-9, 10, 2}],
Point3DBox[{-9, 10, 3}], Point3DBox[{-9, 10, 4}],
Point3DBox[{-9, 10, 5}], Point3DBox[{-9, 10, 6}],
Point3DBox[{-9, 10, 7}], Point3DBox[{-9, 10, 8}],
Point3DBox[{-9, 10, 9}], Point3DBox[{-9, 10, 10}],
Point3DBox[{-8, -10, -10}], Point3DBox[{-8, -10, -9}],
Point3DBox[{-8, -10, -8}], Point3DBox[{-8, -10, -7}],
Point3DBox[{-8, -10, -6}], Point3DBox[{-8, -10, -5}],
Point3DBox[{-8, -10, -4}], Point3DBox[{-8, -10, -3}],
Point3DBox[{-8, -10, -2}], Point3DBox[{-8, -10, -1}],
Point3DBox[{-8, -10, 0}], Point3DBox[{-8, -10, 1}],
Point3DBox[{-8, -10, 2}], Point3DBox[{-8, -10, 3}],
Point3DBox[{-8, -10, 4}], Point3DBox[{-8, -10, 5}],
Point3DBox[{-8, -10, 6}], Point3DBox[{-8, -10, 7}],
Point3DBox[{-8, -10, 8}], Point3DBox[{-8, -10, 9}],
Point3DBox[{-8, -10, 10}], Point3DBox[{-8, -9, -10}],
Point3DBox[{-8, -9, -9}], Point3DBox[{-8, -9, -8}],
Point3DBox[{-8, -9, -7}], Point3DBox[{-8, -9, -6}],
Point3DBox[{-8, -9, -5}], Point3DBox[{-8, -9, -4}],
Point3DBox[{-8, -9, -3}], Point3DBox[{-8, -9, -2}],
Point3DBox[{-8, -9, -1}], Point3DBox[{-8, -9, 0}],
Point3DBox[{-8, -9, 1}], Point3DBox[{-8, -9, 2}],
Point3DBox[{-8, -9, 3}], Point3DBox[{-8, -9, 4}],
Point3DBox[{-8, -9, 5}], Point3DBox[{-8, -9, 6}],
Point3DBox[{-8, -9, 7}], Point3DBox[{-8, -9, 8}],
Point3DBox[{-8, -9, 9}], Point3DBox[{-8, -9, 10}],
Point3DBox[{-8, -8, -10}], Point3DBox[{-8, -8, -9}],
Point3DBox[{-8, -8, -8}], Point3DBox[{-8, -8, -7}],
Point3DBox[{-8, -8, -6}], Point3DBox[{-8, -8, -5}],
Point3DBox[{-8, -8, -4}], Point3DBox[{-8, -8, -3}],
Point3DBox[{-8, -8, -2}], Point3DBox[{-8, -8, -1}],
Point3DBox[{-8, -8, 0}], Point3DBox[{-8, -8, 1}],
Point3DBox[{-8, -8, 2}], Point3DBox[{-8, -8, 3}],
Point3DBox[{-8, -8, 4}], Point3DBox[{-8, -8, 5}],
Point3DBox[{-8, -8, 6}], Point3DBox[{-8, -8, 7}],
Point3DBox[{-8, -8, 8}], Point3DBox[{-8, -8, 9}],
Point3DBox[{-8, -8, 10}], Point3DBox[{-8, -7, -10}],
Point3DBox[{-8, -7, -9}], Point3DBox[{-8, -7, -8}],
Point3DBox[{-8, -7, -7}], Point3DBox[{-8, -7, -6}],
Point3DBox[{-8, -7, -5}], Point3DBox[{-8, -7, -4}],
Point3DBox[{-8, -7, -3}], Point3DBox[{-8, -7, -2}],
Point3DBox[{-8, -7, -1}], Point3DBox[{-8, -7, 0}],
Point3DBox[{-8, -7, 1}], Point3DBox[{-8, -7, 2}],
Point3DBox[{-8, -7, 3}], Point3DBox[{-8, -7, 4}],
Point3DBox[{-8, -7, 5}], Point3DBox[{-8, -7, 6}],
Point3DBox[{-8, -7, 7}], Point3DBox[{-8, -7, 8}],
Point3DBox[{-8, -7, 9}], Point3DBox[{-8, -7, 10}],
Point3DBox[{-8, -6, -10}], Point3DBox[{-8, -6, -9}],
Point3DBox[{-8, -6, -8}], Point3DBox[{-8, -6, -7}],
Point3DBox[{-8, -6, -6}], Point3DBox[{-8, -6, -5}],
Point3DBox[{-8, -6, -4}], Point3DBox[{-8, -6, -3}],
Point3DBox[{-8, -6, -2}], Point3DBox[{-8, -6, -1}],
Point3DBox[{-8, -6, 0}], Point3DBox[{-8, -6, 1}],
Point3DBox[{-8, -6, 2}], Point3DBox[{-8, -6, 3}],
Point3DBox[{-8, -6, 4}], Point3DBox[{-8, -6, 5}],
Point3DBox[{-8, -6, 6}], Point3DBox[{-8, -6, 7}],
Point3DBox[{-8, -6, 8}], Point3DBox[{-8, -6, 9}],
Point3DBox[{-8, -6, 10}], Point3DBox[{-8, -5, -10}],
Point3DBox[{-8, -5, -9}], Point3DBox[{-8, -5, -8}],
Point3DBox[{-8, -5, -7}], Point3DBox[{-8, -5, -6}],
Point3DBox[{-8, -5, -5}], Point3DBox[{-8, -5, -4}],
Point3DBox[{-8, -5, -3}], Point3DBox[{-8, -5, -2}],
Point3DBox[{-8, -5, -1}], Point3DBox[{-8, -5, 0}],
Point3DBox[{-8, -5, 1}], Point3DBox[{-8, -5, 2}],
Point3DBox[{-8, -5, 3}], Point3DBox[{-8, -5, 4}],
Point3DBox[{-8, -5, 5}], Point3DBox[{-8, -5, 6}],
Point3DBox[{-8, -5, 7}], Point3DBox[{-8, -5, 8}],
Point3DBox[{-8, -5, 9}], Point3DBox[{-8, -5, 10}],
Point3DBox[{-8, -4, -10}], Point3DBox[{-8, -4, -9}],
Point3DBox[{-8, -4, -8}], Point3DBox[{-8, -4, -7}],
Point3DBox[{-8, -4, -6}], Point3DBox[{-8, -4, -5}],
Point3DBox[{-8, -4, -4}], Point3DBox[{-8, -4, -3}],
Point3DBox[{-8, -4, -2}], Point3DBox[{-8, -4, -1}],
Point3DBox[{-8, -4, 0}], Point3DBox[{-8, -4, 1}],
Point3DBox[{-8, -4, 2}], Point3DBox[{-8, -4, 3}],
Point3DBox[{-8, -4, 4}], Point3DBox[{-8, -4, 5}],
Point3DBox[{-8, -4, 6}], Point3DBox[{-8, -4, 7}],
Point3DBox[{-8, -4, 8}], Point3DBox[{-8, -4, 9}],
Point3DBox[{-8, -4, 10}], Point3DBox[{-8, -3, -10}],
Point3DBox[{-8, -3, -9}], Point3DBox[{-8, -3, -8}],
Point3DBox[{-8, -3, -7}], Point3DBox[{-8, -3, -6}],
Point3DBox[{-8, -3, -5}], Point3DBox[{-8, -3, -4}],
Point3DBox[{-8, -3, -3}], Point3DBox[{-8, -3, -2}],
Point3DBox[{-8, -3, -1}], Point3DBox[{-8, -3, 0}],
Point3DBox[{-8, -3, 1}], Point3DBox[{-8, -3, 2}],
Point3DBox[{-8, -3, 3}], Point3DBox[{-8, -3, 4}],
Point3DBox[{-8, -3, 5}], Point3DBox[{-8, -3, 6}],
Point3DBox[{-8, -3, 7}], Point3DBox[{-8, -3, 8}],
Point3DBox[{-8, -3, 9}], Point3DBox[{-8, -3, 10}],
Point3DBox[{-8, -2, -10}], Point3DBox[{-8, -2, -9}],
Point3DBox[{-8, -2, -8}], Point3DBox[{-8, -2, -7}],
Point3DBox[{-8, -2, -6}], Point3DBox[{-8, -2, -5}],
Point3DBox[{-8, -2, -4}], Point3DBox[{-8, -2, -3}],
Point3DBox[{-8, -2, -2}], Point3DBox[{-8, -2, -1}],
Point3DBox[{-8, -2, 0}], Point3DBox[{-8, -2, 1}],
Point3DBox[{-8, -2, 2}], Point3DBox[{-8, -2, 3}],
Point3DBox[{-8, -2, 4}], Point3DBox[{-8, -2, 5}],
Point3DBox[{-8, -2, 6}], Point3DBox[{-8, -2, 7}],
Point3DBox[{-8, -2, 8}], Point3DBox[{-8, -2, 9}],
Point3DBox[{-8, -2, 10}], Point3DBox[{-8, -1, -10}],
Point3DBox[{-8, -1, -9}], Point3DBox[{-8, -1, -8}],
Point3DBox[{-8, -1, -7}], Point3DBox[{-8, -1, -6}],
Point3DBox[{-8, -1, -5}], Point3DBox[{-8, -1, -4}],
Point3DBox[{-8, -1, -3}], Point3DBox[{-8, -1, -2}],
Point3DBox[{-8, -1, -1}], Point3DBox[{-8, -1, 0}],
Point3DBox[{-8, -1, 1}], Point3DBox[{-8, -1, 2}],
Point3DBox[{-8, -1, 3}], Point3DBox[{-8, -1, 4}],
Point3DBox[{-8, -1, 5}], Point3DBox[{-8, -1, 6}],
Point3DBox[{-8, -1, 7}], Point3DBox[{-8, -1, 8}],
Point3DBox[{-8, -1, 9}], Point3DBox[{-8, -1, 10}],
Point3DBox[{-8, 0, -10}], Point3DBox[{-8, 0, -9}],
Point3DBox[{-8, 0, -8}], Point3DBox[{-8, 0, -7}],
Point3DBox[{-8, 0, -6}], Point3DBox[{-8, 0, -5}],
Point3DBox[{-8, 0, -4}], Point3DBox[{-8, 0, -3}],
Point3DBox[{-8, 0, -2}], Point3DBox[{-8, 0, -1}], Point3DBox[{-8, 0, 0}],
Point3DBox[{-8, 0, 1}], Point3DBox[{-8, 0, 2}], Point3DBox[{-8, 0, 3}],
Point3DBox[{-8, 0, 4}], Point3DBox[{-8, 0, 5}], Point3DBox[{-8, 0, 6}],