Repository navigation
Expand file tree
/
Copy pathzebra.cpp
More file actions
65 lines (59 loc) · 10 KB
/
Copy pathzebra.cpp
File metadata and controls
65 lines (59 loc) · 10 KB
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
namespace nconf {
vector<transmatrix> zebra_matrices = {
transmatrix{ 0.959497163055893, -3.051449308754159, 3.038416971024311, 0.462069480545546, 3.024458669761153, -2.891514905710333, 0.366255390081754, -4.178360100444867, 4.311941110422727,},
transmatrix{ 0.959497163055892, 0.462069480545547, -0.366255390081753, -3.051449308754160, 3.024458669761152, 4.178360100444867, -3.038416971024310, 2.891514905710332, 4.311941110422727,},
transmatrix{ -0.532480753352632, 0.895953219663104, -0.293714018248482, -11.380138104706246, -2.925427537663571, -11.707504839217769, 11.348615732100461, 2.891514905710332, 11.753805234255974,},
transmatrix{ -0.532480753352630, -11.380138104706246, -11.348615732100461, 0.895953219663104, -2.925427537663570, -2.891514905710331, 0.293714018248480, 11.707504839217766, 11.753805234255974,},
transmatrix{ 9.615860137253975, 13.393326715174238, 16.457398539217252, 2.909141830131096, 5.894928075337353, 6.497175016976152, 9.996392967818373, 14.599019744928100, 17.721716899890065,},
transmatrix{ -9.925819956650292, -1.551119129922446, -9.996392967818370, 14.624683843174200, 0.500000000000000, 14.599019744928100, 17.646622320564287, 1.286845194734536, 17.721716899890065,},
transmatrix{ 9.615860137253978, 2.909141830131098, -9.996392967818373, 13.393326715174236, 5.894928075337351, -14.599019744928100, -16.457398539217252, -6.497175016976151, 17.721716899890069,},
transmatrix{ -9.925819956650294, 14.624683843174203, -17.646622320564290, -1.551119129922444, 0.499999999999998, -1.286845194734533, 9.996392967818373, -14.599019744928102, 17.721716899890069,},
transmatrix{ 14.828770115579118, 19.290585067955146, -24.310884299109865, -8.008926794029605, -8.597834679044610, 11.707504839217773, -16.823653929299002, -21.096194761904250, 27.001569675946886,},
transmatrix{ 14.828770115579124, -8.008926794029605, 16.823653929299006, 19.290585067955146, -8.597834679044604, 21.096194761904247, 24.310884299109869, -11.707504839217766, 27.001569675946886,},
transmatrix{ 0.623489801858735, -24.852439512399201, 24.840138672126670, 0.781831482468028, 19.819159159947962, -19.809349567169726, 0.000000000000003, -31.771729879325271, 31.787463244568769,},
transmatrix{ 0.623489801858732, 0.781831482468031, 0.000000000000002, -24.852439512399197, 19.819159159947951, 31.771729879325267, -24.840138672126670, 19.809349567169715, 31.787463244568769,},
transmatrix{ 29.230523821454973, -5.099784963898512, -29.655207460994980, -17.020967241669027, 4.147948471619888, 17.490534650638438, -33.810306841533063, 6.497175016976156, 34.443433799780131,},
transmatrix{ 29.230523821454980, 5.099784963898504, -29.655207460994987, 17.020967241669020, 4.147948471619884, -17.490534650638430, -33.810306841533063, -6.497175016976149, 34.443433799780131,},
transmatrix{ 29.230523821454977, 17.020967241669020, 33.810306841533063, 5.099784963898508, 4.147948471619886, 6.497175016976152, 29.655207460994973, 17.490534650638430, 34.443433799780131,},
transmatrix{ 29.230523821454980, -17.020967241669016, 33.810306841533063, -5.099784963898506, 4.147948471619886, -6.497175016976151, 29.655207460994983, -17.490534650638434, 34.443433799780131,},
transmatrix{ 6.909383370480617, 10.227755669225001, 12.302299158679173, 21.224798985904425, 37.959870385949792, 43.479234718543033, 22.298692126497549, 39.300874618098163, 45.197239034036102,},
transmatrix{ 6.909383370480616, 21.224798985904432, -22.298692126497556, 10.227755669224999, 37.959870385949806, -39.300874618098177, -12.302299158679173, -43.479234718543033, 45.197239034036102,},
};
ld zebra_period = 2.898149445355172;
vector<transmatrix> matrices_46 = {
transmatrix{ -12.500000000000011, -2.598076211353316, 12.727922061357866, 2.598076211353318, -0.500000000000000, -2.449489742783180, -12.727922061357866, -2.449489742783178, 13.000000000000012,},
transmatrix{ -4.999999999999964, 6.928203230275545, 8.485281374238578, -6.928203230275472, 7.000000000000048, 9.797958971132720, -8.485281374238518, 9.797958971132772, 13.000000000000012,},
transmatrix{ 4.000000000000002, 1.732050807568877, -4.242640687119287, -12.124355652982155, -2.000000000000001, 12.247448713915901, -12.727922061357866, -2.449489742783178, 13.000000000000012,},
transmatrix{ 8.499999999999950, -9.526279441628885, -12.727922061357866, -0.866025403784426, 2.500000000000008, 2.449489742783181, -8.485281374238518, 9.797958971132772, 13.000000000000012,},
transmatrix{ 8.500000000000012, 0.866025403784440, -8.485281374238582, 9.526279441628830, 2.499999999999999, -9.797958971132719, -12.727922061357866, -2.449489742783178, 13.000000000000012,},
transmatrix{ -3.499999999999981, 2.598076211353333, 4.242640687119280, 7.794228634059901, -9.500000000000057, -12.247448713915905, -8.485281374238518, 9.797958971132772, 13.000000000000012,},
transmatrix{ -12.500000000000018, 2.598076211353317, 12.727922061357871, -2.598076211353317, -0.500000000000000, 2.449489742783179, -12.727922061357871, 2.449489742783180, 13.000000000000016,},
transmatrix{ -0.499999999999978, 4.330127018922205, 4.242640687119294, -4.330127018922131, 11.500000000000039, 12.247448713915905, -4.242640687119218, 12.247448713915929, 13.000000000000016,},
transmatrix{ 8.500000000000007, -0.866025403784439, -8.485281374238575, -9.526279441628843, 2.500000000000001, 9.797958971132728, -12.727922061357871, 2.449489742783180, 13.000000000000016,},
transmatrix{ 3.999999999999937, -12.124355652982180, -12.727922061357871, 1.732050807568866, -2.000000000000009, -2.449489742783177, -4.242640687119218, 12.247448713915929, 13.000000000000016,},
transmatrix{ 4.000000000000015, -1.732050807568879, -4.242640687119300, 12.124355652982155, -2.000000000000001, -12.247448713915903, -12.727922061357871, 2.449489742783180, 13.000000000000016,},
transmatrix{ -3.499999999999956, 7.794228634059968, 8.485281374238571, 2.598076211353268, -9.500000000000034, -9.797958971132733, -4.242640687119218, 12.247448713915929, 13.000000000000016,}
};
ld period_46 = 3.5; // todo: compute the exact value
vector<transmatrix> matrices_45 = {
transmatrix{ 1.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 1.000000000000000, 0.000000000000000, 0.000000000000000, 0.000000000000000, 1.000000000000000,},
transmatrix{ -2.618033988749896, -1.618033988749894, 2.910693380450711, -1.618033988749897, -2.618033988749895, 2.910693380450711, -2.910693380450711, -2.910693380450709, 4.236067977499790,},
transmatrix{ 2.618033988749896, 1.618033988749894, -2.910693380450711, 1.618033988749896, 2.618033988749895, -2.910693380450711, -2.910693380450711, -2.910693380450709, 4.236067977499790,},
transmatrix{ 0.000000000000002, 1.000000000000000, -0.000000000000002, -9.472135954999587, 0.000000000000003, 9.419201640797164, -9.419201640797166, 0.000000000000003, 9.472135954999588,},
transmatrix{ 1.618033988749896, 2.618033988749893, -2.910693380450709, 2.618033988749906, 12.090169943749487, -12.329895021247879, -2.910693380450720, -12.329895021247875, 12.708203932499382,},
transmatrix{ -1.618033988749895, -2.618033988749892, 2.910693380450708, -2.618033988749906, -12.090169943749487, 12.329895021247879, -2.910693380450720, -12.329895021247875, 12.708203932499382,},
transmatrix{ 12.090169943749489, 2.618033988749894, -12.329895021247877, 2.618033988749900, 1.618033988749895, -2.910693380450714, -12.329895021247879, -2.910693380450709, 12.708203932499384,},
transmatrix{ -12.090169943749489, -2.618033988749894, 12.329895021247877, -2.618033988749901, -1.618033988749895, 2.910693380450715, -12.329895021247879, -2.910693380450709, 12.708203932499384,},
transmatrix{ 12.708203932499377, 8.472135954999571, -15.240588401698577, -8.472135954999578, -4.236067977499778, 9.419201640797144, -15.240588401698577, -9.419201640797144, 17.944271909999159,},
transmatrix{ -12.708203932499382, -8.472135954999576, 15.240588401698584, 8.472135954999587, 4.236067977499788, -9.419201640797159, -15.240588401698592, -9.419201640797151, 17.944271909999170,},
transmatrix{ 4.236067977499800, 8.472135954999583, -9.419201640797162, -8.472135954999592, -12.708203932499375, 15.240588401698583, -9.419201640797169, -15.240588401698581, 17.944271909999173,},
transmatrix{ -4.236067977499807, -8.472135954999596, 9.419201640797176, 8.472135954999594, 12.708203932499378, -15.240588401698588, -9.419201640797175, -15.240588401698586, 17.944271909999184,},
transmatrix{ 8.472135954999596, 23.180339887498960, -24.659790042495743, -4.236067977499791, -8.472135954999571, 9.419201640797148, -9.419201640797166, -24.659790042495732, 26.416407864998757,},
transmatrix{ -8.472135954999601, -23.180339887498981, 24.659790042495764, 4.236067977499798, 8.472135954999594, -9.419201640797171, -9.419201640797175, -24.659790042495757, 26.416407864998781,},
transmatrix{ 8.472135954999604, 4.236067977499793, -9.419201640797176, -23.180339887498988, -8.472135954999580, 24.659790042495768, -24.659790042495771, -9.419201640797155, 26.416407864998781,},
transmatrix{ -8.472135954999622, -4.236067977499800, 9.419201640797196, 23.180339887498992, 8.472135954999583, -24.659790042495771, -24.659790042495786, -9.419201640797164, 26.416407864998799,},
transmatrix{ -17.944271909999188, -16.944271909999166, 24.659790042495743, -16.944271909999181, -17.944271909999156, 24.659790042495739, -24.659790042495750, -24.659790042495729, 34.888543819998340,},
transmatrix{ 17.944271909999188, 16.944271909999166, -24.659790042495743, 16.944271909999181, 17.944271909999173, -24.659790042495754, -24.659790042495750, -24.659790042495729, 34.888543819998340,},
};
ld period_45 = 5.86; // todo: compute the exact value
}