33 double kTolerance = 1
e-8;
41 {1, 0, 212.172775, 354.713538, 1.0},
42 {2, 0, 773.468399, 358.735306, 1.0},
43 {1, 1, 62.415197, 287.905354, 1.0},
44 {2, 1, 619.103336, 324.402537, 1.0},
45 {1, 2, 206.847939, 237.567925, 1.0},
46 {2, 2, 737.496986, 247.881383, 1.0},
47 {1, 3, 351.743889, 316.415906, 1.0},
48 {2, 3, 908.779621, 290.703617, 1.0},
49 {1, 4, 232.941413, 54.265443, 1.0},
50 {2, 4, 719.444847, 63.062531, 1.0},
51 {1, 5, 96.391611, 119.283537, 1.0},
52 {2, 5, 611.413136, 160.890715, 1.0},
53 {1, 6, 363.444958, 150.838144, 1.0},
54 {2, 6, 876.374531, 114.916206, 1.0},
56 int num_markers =
sizeof(markers) /
sizeof(
Marker);
59 for (
int i = 0;
i < num_markers;
i++) {
60 double x = markers[
i].
x,
y = markers[
i].
y;
62 tracks.Insert(markers[
i].image, markers[
i].track,
x,
y);
74 Mat3 expected_rotation;
76 expected_rotation << 0.98215101743472, 0.17798354937546, 0.06083777694542,
77 -0.16875283983360, 0.97665300495333, -0.13293376908719,
78 -0.08307742172243, 0.12029448893171, 0.98925597189636;
84 EXPECT_TRUE(Mat3::Identity().isApprox(first_camera_R, kTolerance));
85 EXPECT_TRUE(expected_rotation.isApprox(second_camera_R, kTolerance));