使用C++11实现二维坐标转换

问题

请使用C++11标准实现二维坐标转换公式:
有两套笛卡尔坐标系:XOYX'O'Y'X'O'Y'相对于XOY坐标系进行了平移(x_shift, y_shift)和旋转(angle,弧度)变换,一个点在XOY坐标系中的坐标为:(x, y),计算该点在X'O'Y'坐标系中的坐标:(x_prime, y_prime)

要求

1.使用C++标准库(STL库)算法;
2.使用C++11标准的Lambda表达式;
3.使用C++11标准库中的随机数生成器生成1000个[-100, 100]内的均匀随机数坐标进行测试;
4.使用C++11标准库中的计时方法计算坐标转换函数所花费的时间。

公式

公式推导就不说了(见这篇博客),如下所示:

x = x_prime * cos(angle) - y_prime * sin(angle) + x_shift
y = y_prime * cos(angle) + x_prime * sin(angle) + y_shift
x_prime = (x - x_shift) * cos(angle) + (y - y_shift) * sin(angle)
y_prime = (y - y_shift) * cos(angle) - (x - x_shift) * sin(angle)

代码

// Author: David Hopper
// E-mail: [email protected]

#include <algorithm>
#include <chrono>
#include <cmath>
#include <fstream>
#include <iostream>
#include <random>

struct Point {
  explicit Point() : x(0.0), y(0.0) {}
  explicit Point(double x_i, double y_i) : x(x_i), y(y_i) {}
  double x;
  double y;
};

// 2D coordinate transform
void CoordinateTransform2D(std::vector<Point>& points, double x_shift,
                           double y_shift, double angle);

int main(int argc, char** argv) {
  double x_shift, y_shift, angle;
  bool initialized = true;
  // Parse parameters.
  if (argc > 3) {
    try {
      x_shift = std::stod(argv[1]);
      y_shift = std::stod(argv[2]);
      angle = std::stod(argv[3]);
    } catch (...) {
      initialized = false;
    }
  } else {
    initialized = false;
  }

  if (!initialized) {
    std::cout << "Usage: \n"
              << "\t" << argv[0]
              << " x_shift y_shit angle(rad) result_file_name\n"
              << "Example: \n"
              << "\t" << argv[0] << " 1 1 0.785 test.txt" << std::endl;
    std::cout
        << "The default transform parameters: (1.0, 1.0, PI/4.0) are used. "
        << std::endl;
    x_shift = 1.0;
    y_shift = 1.0;
    angle = M_PI / 4.0;
  }

  std::string file_name;
  if (argc > 4) {
    file_name = argv[4];
  }
  if (file_name.empty()) {
    file_name = "test.txt";
  }
  std::ofstream fout(file_name);
  if (!fout.is_open()) {
    std::cerr << "Cannot open the file: " << file_name << " to write results. "
              << std::endl;
    return 1;
  }

  constexpr int kSize = 1000;
  std::vector<Point> points(kSize);

  std::random_device rd;
  std::mt19937 gen(rd());
  constexpr double kBound = 100.0;
  std::uniform_real_distribution<double> dis(-kBound, kBound);
  auto rand_num([&]() mutable {
    Point point(dis(gen), dis(gen));
    return point;
  });

  std::generate(std::begin(points), std::end(points), rand_num);

  // Add a special point (0, 0) to check the correctness of the result.
  points.emplace_back(0.0, 0.0);

  fout << "Points before transformation: " << std::endl;
  for (const auto& point : points) {
    fout << "(" << point.x << ", " << point.y << "), ";
  }
  fout << std::endl;

  auto start_time = std::chrono::steady_clock::now();
  CoordinateTransform2D(points, x_shift, y_shift, angle);
  auto end_time = std::chrono::steady_clock::now();
  fout << "Elapsed time in milliseconds: "
       << std::chrono::duration_cast<std::chrono::microseconds>(end_time -
                                                                start_time)
              .count()
       << " µs" << std::endl;

  fout << "Points after transformation: " << std::endl;
  for (const auto& point : points) {
    fout << "(" << point.x << ", " << point.y << "), ";
  }
  fout << std::endl;
  fout.close();

  // Use the following line to avoid the disappearance of the command line
  // window when debugging in VSCode.
  // std::cin.get();

  return 0;
}

// 2D coordinate transform
// Original: XOY
// Transformed: X'O'Y':
//  Translation: (x_shift, y_shift)
//  Rotation: angle (rad)
// A coordinate represented in XOY: (x, y)
// A coordinate represented in X'O'Y': (x_prime, y_prime)
// Transformation formula:
//  x = x_prime * cos(angle) - y_prime * sin(angle) + x_shift
//  y = y_prime * cos(angle) + x_prime * sin(angle) + y_shift
//  x_prime = (x - x_shift) * cos(angle) + (y - y_shift) * sin(angle)
//  y_prime = (y - y_shift) * cos(angle) - (x - x_shift) * sin(angle)
void CoordinateTransform2D(std::vector<Point>& points, double x_shift,
                           double y_shift, double angle) {
  std::transform(
      std::begin(points), std::end(points), std::begin(points),
      [=](const Point& point) {
        double sin_val = std::sin(angle);
        double cos_val = std::cos(angle);
        Point trans_point(
            (point.x - x_shift) * cos_val + (point.y - y_shift) * sin_val,
            (point.y - y_shift) * cos_val - (point.x - x_shift) * sin_val);
        return trans_point;
      });
}

编译指令

g++ -g -Wall -std=c++11 *.cpp -o test

结果

执行如下指令:

./test 2.5 3.5 0.3476 result.txt

在我机器上运行的结果如下:

Points before transformation
    : (-77.5781, -87.3832),
      (-83.8756, 61.0616),
      (-84.294, -66.2067),
      (79.6666, -50.0785),
      (51.431, -28.4307),
      (28.015, -71.6604),
      (-5.37682, -39.0528),
      (41.22, -8.97904),
      (23.5979, -0.766472),
      (35.9552, 3.61348),
      (-17.6709, -63.0485),
      (-68.5905, 4.51262),
      (-92.8113, -83.9421),
      (12.4378, 64.148),
      (96.0308, -8.80373),
      (39.6931, -28.4047),
      (68.6329, 3.90714),
      (-51.5738, -59.8949),
      (63.0394, 24.2507),
      (73.0724, -16.5424),
      (-71.7909, 34.4098),
      (-68.4305, 83.0725),
      (-29.6809, 20.3638),
      (-42.6257, -11.7805),
      (-37.8868, 87.9958),
      (-39.1441, 22.0786),
      (-66.9905, -99.1343),
      (11.394, 11.3881),
      (-87.4088, 63.9272),
      (93.9925, 70.4119),
      (31.8355, 69.0841),
      (-31.8731, -14.2943),
      (57.5755, -47.0277),
      (23.22, -99.6089),
      (5.62697, -56.566),
      (-56.8397, 13.7043),
      (86.8864, 15.4661),
      (5.47267, -5.41087),
      (89.8262, -3.27915),
      (-67.9456, 83.7751),
      (97.0269, -72.6176),
      (-62.165, 33.209),
      (-23.4851, 47.6277),
      (-22.5981, 38.6406),
      (33.6895, 47.2239),
      (-45.787, -20.7522),
      (-45.8599, 85.4983),
      (-87.3818, -89.8228),
      (-82.1598, 87.1015),
      (61.2795, -79.3586),
      (-81.7094, -68.8969),
      (94.1826, 35.8195),
      (85.9987, -64.7438),
      (5.94861, 47.0071),
      (8.991, -48.4177),
      (71.3585, 54.5151),
      (-53.2155, 24.6063),
      (-24.9944, 25.2277),
      (-64.247, -4.00024),
      (-38.7513, 27.5486),
      (79.6492, -38.3925),
      (-47.9822, -58.4295),
      (-6.54801, 8.18575),
      (92.4573, -55.9509),
      (-44.6852, -71.8078),
      (-86.8836, -99.3402),
      (-60.4751, -18.7272),
      (72.8438, -69.4679),
      (24.2197, 27.2442),
      (45.3163, 24.8003),
      (-65.9832, -7.75722),
      (69.8527, 80.8503),
      (64.5131, 68.5267),
      (-25.6696, -82.3117),
      (8.82541, -94.0497),
      (32.8733, 8.85101),
      (32.6841, 34.6735),
      (76.7519, -10.8524),
      (31.7331, -14.6872),
      (-83.6959, 58.1023),
      (-67.4745, 18.6664),
      (82.4146, -65.6839),
      (88.5779, -53.3474),
      (-31.9977, 73.2969),
      (98.2983, 58.8218),
      (83.7289, -17.6113),
      (20.0972, -76.0503),
      (97.4192, 11.9273),
      (-92.438, 19.1106),
      (-0.700133, 35.6394),
      (68.8822, -29.9761),
      (-62.683, 22.4781),
      (-99.5006, 16.6045),
      (19.446, 81.8101),
      (17.9358, -92.64),
      (45.1965, 43.3707),
      (-93.2082, 59.4847),
      (-58.4242, -37.5873),
      (43.0549, -28.3448),
      (-93.3692, -51.5951),
      (-53.614, 24.4164),
      (24.2341, 92.84),
      (37.499, 19.2326),
      (-22.4033, 45.0909),
      (20.307, -0.29493),
      (-52.0971, -53.3076),
      (58.8245, -53.8125),
      (95.2489, -78.3257),
      (-41.0256, 55.2024),
      (-14.4644, 34.508),
      (25.7844, 75.6408),
      (-71.3978, -59.1554),
      (-5.71356, 20.0457),
      (-65.6621, 31.3185),
      (-55.3855, -37.0243),
      (-87.4738, 55.0381),
      (0.772477, -81.4926),
      (3.82026, 54.003),
      (-88.6321, -26.3469),
      (-60.9882, -57.8289),
      (15.0225, -42.4481),
      (42.462, -71.8801),
      (71.5321, -11.6107),
      (-64.0469, -76.19),
      (72.8118, 76.4698),
      (-87.7303, -10.6825),
      (18.4812, 24.6976),
      (-97.5296, 31.9099),
      (31.0148, 0.0796089),
      (17.1559, -42.7295),
      (85.094, 89.6993),
      (44.8592, 6.24716),
      (50.6028, 6.19735),
      (-35.8976, -64.4989),
      (-21.2344, 20.1233),
      (44.4093, 47.0952),
      (84.7519, 23.0534),
      (15.5612, -54.4332),
      (68.6918, -11.5925),
      (-97.7517, 27.0815),
      (-36.6702, 35.7727),
      (-84.8862, -47.2677),
      (-65.0126, 23.5853),
      (74.5878, 22.2154),
      (79.354, -70.8478),
      (-92.041, 96.7357),
      (95.6583, 22.42),
      (-35.8284, 33.2501),
      (72.094, -34.6758),
      (-97.2803, -98.0475),
      (59.3516, 76.9435),
      (0.302791, -8.42592),
      (-84.6728, 0.9551),
      (41.1433, -26.5596),
      (50.0171, -3.31827),
      (-68.303, 75.0512),
      (-84.965, 68.7322),
      (60.3342, 45.2335),
      (-16.1795, 78.2285),
      (64.5663, 66.7366),
      (34.7501, 79.5964),
      (-83.2571, -40.5917),
      (-63.1333, 38.276),
      (66.616, 45.7663),
      (-0.507822, -61.6959),
      (84.5285, 89.2285),
      (53.3768, 42.9477),
      (91.6024, 13.4678),
      (-7.22239, 33.2572),
      (-97.6589, 47.0923),
      (-31.862, -31.0655),
      (42.4726, -66.4831),
      (86.4271, 16.0946),
      (37.4338, 84.248),
      (93.157, -94.7163),
      (76.8847, -25.0756),
      (-64.39, -67.7898),
      (-61.8416, -96.5264),
      (-58.7373, 15.5093),
      (39.9738, 9.13985),
      (-73.5342, -13.9573),
      (-61.9008, -25.341),
      (-67.1476, -65.992),
      (45.4513, -79.1555),
      (-53.2211, -15.1549),
      (13.9876, 89.1),
      (-40.1955, 68.3748),
      (-95.1469, 69.9005),
      (-53.3964, -10.3213),
      (80.7919, -4.49677),
      (-21.9766, 68.0915),
      (25.3349, 58.8641),
      (90.1438, -15.9264),
      (97.825, 47.8761),
      (-15.067, -1.23593),
      (-92.7184, -93.9363),
      (85.3088, 98.0805),
      (55.9273, 14.5769),
      (98.9196, -41.9317),
      (23.8729, -59.3623),
      (69.8144, 57.5852),
      (-75.1776, -73.7797),
      (74.2376, 43.4575),
      (46.1616, 0.461441),
      (-26.5788, -56.9401),
      (61.3088, -29.169),
      (-61.0427, 62.2345),
      (-28.7369, -5.51974),
      (99.1903, -12.967),
      (9.39403, -31.3599),
      (-20.3627, -49.4254),
      (51.4046, -96.2963),
      (-17.9145, 96.2364),
      (-15.2607, -50.0682),
      (47.3527, -41.5359),
      (29.6257, -56.4046),
      (-86.487, 24.1516),
      (-51.0425, 89.5741),
      (56.1279, 18.8455),
      (-27.8427, 88.4714),
      (-96.1119, -25.8452),
      (98.3718, -90.1805),
      (-97.4358, -65.0356),
      (-85.4703, 89.9322),
      (-20.2096, 94.5287),
      (27.5646, -51.9427),
      (-16.388, 98.0704),
      (-82.1905, 71.9339),
      (34.5105, 50.6436),
      (-82.3188, 28.137),
      (65.9578, -88.7528),
      (73.7016, -76.3054),
      (-96.7707, -18.3056),
      (-12.8469, 99.1525),
      (-10.9591, 34.8166),
      (-60.0732, 76.5184),
      (85.5555, 69.7545),
      (-12.7069, 73.6799),
      (93.1526, -40.1999),
      (88.6107, -41.8136),
      (-63.1025, -77.3641),
      (-58.3198, 84.0293),
      (23.9521, 61.4485),
      (45.9851, 47.008),
      (-72.0084, -17.7366),
      (44.7278, 62.8821),
      (-89.2908, -50.3842),
      (98.8171, -23.5265),
      (-19.4029, -65.0703),
      (93.8293, 36.2134),
      (-22.8926, 98.0867),
      (-44.4062, 9.10804),
      (-20.6237, 23.2924),
      (-51.1454, 27.6162),
      (19.1023, -50.6689),
      (-33.012, -83.5364),
      (37.976, 9.18598),
      (19.3601, 33.3324),
      (-37.5405, 52.9104),
      (53.7549, -48.6245),
      (35.3439, -79.8122),
      (-4.64331, 4.17503),
      (64.4792, 95.5033),
      (-29.5845, 57.368),
      (-53.0951, 42.1904),
      (-53.596, -68.8121),
      (26.1298, 41.2376),
      (-29.9801, -78.0155),
      (28.1525, 70.441),
      (65.4107, 80.1551),
      (-75.2687, -86.5318),
      (74.2148, -10.101),
      (-2.4074, 62.971),
      (96.7457, -91.3725),
      (68.6882, -77.6094),
      (90.7202, -74.0459),
      (37.7684, 37.4356),
      (-7.69563, 28.4682),
      (-16.7575, 35.1254),
      (71.4322, 88.2727),
      (-62.2872, -91.1342),
      (-99.508, 52.8819),
      (49.137, -34.5048),
      (-12.0107, 21.772),
      (-93.2157, -96.8514),
      (67.4561, 59.3426),
      (35.7987, 74.5853),
      (34.0507, -68.6856),
      (-1.53645, -73.379),
      (-30.9802, 3.43155),
      (1.99845, 79.6953),
      (-34.3016, 17.3936),
      (95.6872, -56.594),
      (-72.4482, 24.2116),
      (70.3997, 77.3241),
      (40.3846, 30.563),
      (77.5438, 60.36),
      (83.4394, -11.3853),
      (-46.7177, 19.0094),
      (-24.5617, 78.2526),
      (-67.5029, 12.3404),
      (-55.4943, -6.30098),
      (-18.296, -51.0827),
      (73.5155, 53.5889),
      (85.5373, -63.091),
      (31.9837, 21.4853),
      (-11.1668, -64.973),
      (66.8852, 24.496),
      (-72.5159, 62.1248),
      (-92.7247, -84.4592),
      (-22.3886, -76.7409),
      (4.02519, -54.9095),
      (-14.9718, -38.2115),
      (-36.6671, -77.6903),
      (-21.891, -42.8908),
      (54.5952, 51.2786),
      (46.5729, 89.1238),
      (5.05963, -81.8841),
      (-40.8332, -76.8383),
      (21.6376, -80.3501),
      (-11.5402, 18.5105),
      (-33.8785, -87.5541),
      (-93.2362, -72.9517),
      (96.814, 45.9883),
      (46.6838, 16.2302),
      (94.592, 52.1871),
      (97.0211, -11.559),
      (50.3171, 46.9901),
      (-22.9708, -0.200422),
      (-35.6795, -40.0975),
      (-5.27098, 83.9628),
      (35.004, 88.5378),
      (82.5937, 34.371),
      (-6.64858, -89.9371),
      (25.5821, -14.3431),
      (-74.7579, -39.5065),
      (-2.20952, -19.8945),
      (-21.7713, -0.96182),
      (-6.34966, 16.2697),
      (21.0971, -62.3715),
      (-41.0622, 10.2926),
      (-3.79913, -65.7104),
      (93.4164, 50.9937),
      (30.361, 75.5258),
      (86.711, 49.3824),
      (91.9482, 9.46496),
      (-61.1404, 9.26342),
      (41.8247, -62.5428),
      (44.1086, 31.8891),
      (50.3996, 27.1204),
      (-55.689, -73.9055),
      (-0.996773, -74.3519),
      (3.39302, -44.0298),
      (-15.295, -77.3373),
      (-2.16862, -10.7588),
      (95.5738, -94.4982),
      (26.802, 70.2067),
      (18.5987, 60.3176),
      (7.63016, -79.4473),
      (72.4133, 26.9154),
      (33.8524, -83.2854),
      (12.0486, -29.3414),
      (-45.2474, -86.0333),
      (49.2163, 61.8432),
      (95.2645, -19.5205),
      (89.0934, 87.4703),
      (26.3268, -77.3398),
      (-97.6786, -64.9349),
      (80.1859, -32.4256),
      (98.3036, 35.9289),
      (28.1649, 45.681),
      (44.4568, -13.6348),
      (-65.0365, -21.8937),
      (-22.0346, 11.292),
      (-75.5983, 39.0269),
      (-62.8504, 3.83846),
      (98.2661, -4.20043),
      (-75.5713, -42.5437),
      (34.5144, -50.5297),
      (-8.54322, 74.9361),
      (63.5331, 19.2862),
      (-60.1199, 86.0846),
      (-85.1278, 56.1231),
      (27.7078, -78.8735),
      (-10.5933, -86.9551),
      (13.8288, -45.3784),
      (58.8993, -44.4447),
      (-1.46549, 88.2752),
      (78.0623, -59.9916),
      (13.9677, -54.4379),
      (-30.2445, -44.7888),
      (-5.69231, -77.6514),
      (84.8596, 92.0101),
      (42.3381, 80.1895),
      (54.6714, -63.17),
      (-10.4496, 46.631),
      (-10.2001, -86.2838),
      (-82.1127, -77.6268),
      (-7.67664, 30.4565),
      (-57.9896, -82.3092),
      (-20.236, 0.00991379),
      (-41.6764, -17.2745),
      (-53.425, 84.484),
      (10.4193, 28.2007),
      (-33.2082, 87.3548),
      (-85.6149, 75.7367),
      (-97.568, 50.0437),
      (-82.1624, -71.7992),
      (-51.8178, 76.5797),
      (77.3224, 4.98283),
      (32.5513, -97.1004),
      (16.71, 19.1812),
      (-76.238, -44.5224),
      (-69.7624, -53.3314),
      (78.7816, -52.2001),
      (-59.875, -6.15161),
      (-70.1723, -65.5477),
      (99.3456, -14.3295),
      (46.0398, -91.2418),
      (-55.7919, 36.067),
      (-65.4935, -74.3411),
      (-17.6, -64.389),
      (2.59777, 56.9736),
      (-93.5099, -90.7236),
      (-21.3914, 52.0802),
      (-99.7032, 1.73801),
      (-38.0834, -49.838),
      (-45.8733, 34.6685),
      (67.2158, 2.91041),
      (57.5324, -83.7844),
      (33.4653, -45.9943),
      (33.3014, -72.3164),
      (-90.7327, -41.8963),
      (-99.1823, 70.0442),
      (-52.2419, 58.607),
      (-76.4839, 12.5528),
      (12.9478, 71.9872),
      (-73.7241, -98.9287),
      (88.1415, -87.8598),
      (-10.5511, 17.1935),
      (65.3053, -74.294),
      (-20.3433, -21.776),
      (-34.5016, 11.3149),
      (16.5264, 40.2724),
      (26.5099, 51.6167),
      (-1.90181, 7.74322),
      (-7.57388, 43.3591),
      (-59.6054, 43.0039),
      (-82.996, -87.2616),
      (-59.1889, 40.9657),
      (52.5785, -94.1886),
      (-32.2872, 12.7364),
      (41.5173, 97.3748),
      (-82.5658, -55.1713),
      (42.3808, -34.9895),
      (69.2724, 36.0649),
      (-45.2348, -36.6868),
      (92.5277, 15.2292),
      (-21.5321, -66.4662),
      (62.7319, 24.2659),
      (-98.7305, 33.3339),
      (72.7639, 61.31),
      (-32.8932, -30.8003),
      (58.4874, 38.1179),
      (-40.9007, 5.89031),
      (17.6545, 29.5727),
      (-79.5371, 82.8612),
      (-92.729, 11.6084),
      (93.8482, -35.0316),
      (-15.5798, -34.4632),
      (38.9667, 86.749),
      (-19.1042, 0.888561),
      (-93.6148, 5.99212),
      (-98.7447, -34.8553),
      (-82.6522, 81.2958),
      (95.7163, 91.2048),
      (-39.4557, 67.3242),
      (83.4373, -11.2508),
      (-5.6001, 76.9864),
      (-31.0779, 54.7453),
      (-57.6794, 79.1202),
      (-23.7594, 0.0763357),
      (-12.1555, 84.177),
      (77.6625, -98.3766),
      (-54.4245, -83.4176),
      (63.3721, -55.9694),
      (0.213501, -23.1958),
      (38.8724, 9.51132),
      (75.5213, -35.4605),
      (-44.016, 43.9214),
      (45.8316, 28.0751),
      (-50.2526, 70.7544),
      (65.3209, 71.4362),
      (-97.4186, -37.5401),
      (86.3226, 70.9682),
      (-88.1237, -72.2972),
      (-89.9477, 96.0168),
      (24.7213, -62.7651),
      (-65.9525, 69.2842),
      (-35.6263, -92.4689),
      (-47.7082, 94.3869),
      (-68.6165, -95.8484),
      (-60.7075, 87.124),
      (-72.952, 2.60625),
      (-34.5088, -21.2443),
      (14.5424, 52.6858),
      (-59.7563, 78.6763),
      (-35.2457, 73.4393),
      (45.0705, -11.3787),
      (-9.94267, 98.7318),
      (80.7903, 49.6746),
      (91.8467, 9.35829),
      (-84.5905, -18.574),
      (-22.2791, 20.1064),
      (-46.3367, 17.0515),
      (60.6098, 8.96006),
      (-70.6229, -46.6703),
      (15.1564, -66.3195),
      (-41.7457, -96.94),
      (98.3793, 64.7503),
      (-10.9576, -30.6905),
      (32.008, 0.179784),
      (11.8156, 14.4687),
      (26.187, 77.3048),
      (84.0512, 50.4205),
      (26.1883, -22.1957),
      (-84.6172, 4.92937),
      (-63.0562, 74.7948),
      (-38.2278, -66.7735),
      (-24.4984, 33.095),
      (46.4834, 49.0159),
      (22.7463, 61.644),
      (93.4176, 93.6267),
      (89.0818, 42.5603),
      (15.1859, -66.9691),
      (71.6523, -94.3876),
      (-34.3174, 47.9083),
      (-24.8468, 38.1839),
      (-31.9682, -96.5375),
      (-93.9691, 46.6414),
      (-60.4265, -52.2514),
      (-1.2405, -99.207),
      (75.8977, -5.60177),
      (67.1755, -38.8508),
      (-88.165, 22.1229),
      (-71.095, 50.0091),
      (83.7882, -10.2637),
      (-34.695, 87.9419),
      (88.0549, 5.21108),
      (86.0497, 91.6691),
      (64.625, -33.355),
      (-84.1179, 23.2699),
      (-54.1782, -89.6868),
      (-5.40735, -72.6099),
      (-88.7273, 29.8793),
      (92.9351, -55.3033),
      (-39.4934, -59.2298),
      (3.14358, 66.363),
      (27.468, -55.578),
      (84.4538, 73.9454),
      (-50.7364, 53.9873),
      (-24.6354, 71.1839),
      (-77.3683, -82.4291),
      (-29.4715, 82.1477),
      (-75.6498, -35.1035),
      (18.9209, 76.0269),
      (-54.8675, -6.89137),
      (48.9528, 57.1519),
      (-69.6237, -38.8809),
      (90.544, 48.6782),
      (-22.5056, 4.65087),
      (-33.8933, -89.4004),
      (-57.7351, -69.3881),
      (-16.0614, 68.0336),
      (-83.1691, 42.3929),
      (-38.9252, 20.7168),
      (0.771563, -72.1154),
      (83.9161, -58.1172),
      (60.4702, 78.6134),
      (-41.3719, -53.1772),
      (99.6143, 17.7291),
      (-69.3913, 48.759),
      (-33.151, 62.7519),
      (35.7772, -76.8197),
      (45.6616, -8.20792),
      (-53.1635, -7.37293),
      (-73.7764, 96.8896),
      (-39.4034, -21.2882),
      (-74.6083, 38.2898),
      (29.2807, -93.8206),
      (47.9261, -84.5777),
      (94.238, 74.7438),
      (62.8844, -28.0028),
      (-30.4981, 27.3522),
      (-94.4352, -88.3557),
      (-25.3071, -48.106),
      (-52.2957, -88.4746),
      (-21.8225, -56.3087),
      (-77.7156, -77.689),
      (-49.8513, -61.6726),
      (-89.7343, 23.3676),
      (-74.1801, 29.7078),
      (-89.9791, 8.00285),
      (-32.4431, 67.4099),
      (20.0964, -19.1159),
      (-18.2558, 6.90787),
      (-49.2388, -62.8713),
      (74.0126, -28.9055),
      (30.4986, 29.0818),
      (-71.8978, 62.9783),
      (41.2297, 57.2912),
      (19.9224, 49.6819),
      (-10.7054, 14.244),
      (86.8246, -5.7141),
      (74.5552, 30.429),
      (45.6559, -68.7078),
      (79.3915, 5.7545),
      (-77.9068, -37.1633),
      (99.941, -8.84691),
      (-4.39281, -51.3522),
      (-51.4338, -97.0951),
      (-47.0626, -10.7366),
      (32.1156, -94.6719),
      (-71.6381, 87.4701),
      (98.2926, 74.845),
      (3.72915, -87.8798),
      (32.6814, -76.0158),
      (71.8733, -83.603),
      (-61.2116, -67.0989),
      (-56.0579, 44.722),
      (56.057, -91.7834),
      (1.19599, -67.3025),
      (61.6059, -27.3998),
      (-72.189, 46.4023),
      (51.6891, -17.7317),
      (33.6642, -2.63188),
      (-35.2899, 92.639),
      (-65.1856, 32.544),
      (-23.1122, -18.7654),
      (-79.9442, -86.6868),
      (44.2312, 14.0023),
      (-70.2048, 43.5423),
      (-98.2685, -88.7659),
      (-4.05394, 67.7281),
      (40.0061, 21.9092),
      (85.6349, -28.2779),
      (75.0774, -12.8277),
      (-99.2166, 6.47679),
      (96.3938, -13.1934),
      (32.0069, -61.9206),
      (-58.6114, -84.7583),
      (-2.06074, -14.7303),
      (-28.4962, 6.47351),
      (98.3063, -14.5624),
      (46.3277, 82.3681),
      (77.5083, -19.713),
      (-28.4822, 31.0384),
      (12.2955, -44.9058),
      (78.8897, 55.7885),
      (97.3408, 69.3052),
      (55.5076, -20.2613),
      (-34.7035, 92.4743),
      (-19.7196, 62.2665),
      (9.62788, 39.8584),
      (-33.2451, 17.9366),
      (39.1396, 88.6936),
      (50.4927, -77.5574),
      (-77.5325, 0.864482),
      (22.2546, -3.65119),
      (1.49795, -14.2341),
      (56.5161, -43.5757),
      (16.8031, -44.0929),
      (53.6854, 76.8176),
      (-40.1113, 41.6046),
      (1.40678, -68.1542),
      (-15.3631, 1.09361),
      (71.6628, 52.82),
      (13.2665, -20.0055),
      (48.7016, 33.8823),
      (-43.3047, -98.134),
      (-0.693622, -19.9033),
      (97.2962, -37.2669),
      (-11.6875, -73.9366),
      (-54.1209, 90.7947),
      (-67.2307, -68.3971),
      (79.8692, 20.0175),
      (-75.7738, -17.6667),
      (-66.5824, -39.843),
      (-83.4028, -99.0355),
      (56.8125, -24.6282),
      (40.3092, -70.5876),
      (-80.12, 55.4906),
      (0.628964, 82.7391),
      (-39.3407, -68.2886),
      (-2.50619, 37.4352),
      (35.9839, 23.9407),
      (22.7885, -33.2658),
      (-56.3692, 14.8969),
      (79.7056, 18.2937),
      (96.1653, -65.9674),
      (85.5945, 17.7147),
      (23.7211, 52.2692),
      (31.4379, 11.1107),
      (66.1309, -47.3589),
      (-47.9451, -41.0019),
      (-8.19691, 31.5703),
      (-36.5548, 54.9723),
      (-48.8411, 74.8236),
      (-51.0818, -2.37847),
      (7.09367, -93.0723),
      (28.3571, 79.7978),
      (4.07987, 74.0996),
      (-2.5993, 67.7813),
      (0.883309, 38.7577),
      (-15.7845, 11.6189),
      (-34.6722, -88.1899),
      (-46.2264, -63.036),
      (-13.713, 56.3662),
      (-84.513, -31.9039),
      (-2.34619, 64.0223),
      (75.3708, 90.5726),
      (24.3564, -79.9455),
      (-61.3661, -51.2253),
      (35.8049, -69.1584),
      (27.614, 67.4881),
      (-28.5566, 28.352),
      (-42.7969, -92.9389),
      (69.4005, 34.9311),
      (-27.874, -11.3926),
      (-47.6984, 12.3436),
      (-34.9026, 91.8238),
      (71.1182, 70.4853),
      (-17.4273, -49.472),
      (-81.8841, 46.0825),
      (-22.0416, -62.671),
      (-75.0715, -26.2714),
      (27.0546, 30.1693),
      (-63.5368, -17.5258),
      (71.6773, 67.6808),
      (54.8039, -2.94846),
      (0.683507, -33.7449),
      (-97.7311, -65.6455),
      (78.7938, 90.7148),
      (89.6333, -90.034),
      (93.3973, -79.0515),
      (-96.8889, -48.1377),
      (-55.5558, -16.3729),
      (-38.5395, 37.8762),
      (-87.2375, 74.8965),
      (55.3685, -54.449),
      (25.3653, -70.6797),
      (10.9958, 54.3011),
      (-48.7512, 0.792589),
      (-22.9124, -16.5074),
      (-34.6432, -53.3648),
      (-72.3792, 50.3356),
      (-42.3454, 63.6105),
      (-50.6998, -68.1871),
      (-78.0384, -15.5682),
      (54.6897, -85.4827),
      (56.5319, -55.563),
      (11.8154, -88.8639),
      (-48.3421, -8.63622),
      (24.5497, -49.3791),
      (-7.18943, 84.4517),
      (-84.0294, 73.6057),
      (68.9718, 75.8276),
      (15.775, 75.207),
      (-34.4347, -47.3775),
      (11.5188, -72.1541),
      (-40.544, 60.8285),
      (95.217, 22.1645),
      (50.2113, -63.8254),
      (-0.454459, 88.4023),
      (7.98403, 35.1235),
      (-36.611, -14.1538),
      (-44.9489, -46.5639),
      (-41.5385, -49.4074),
      (39.5648, -31.4568),
      (67.3963, 15.6816),
      (-16.5964, 13.3758),
      (-20.3148, -78.3209),
      (41.4014, 37.2552),
      (-66.6068, -97.7668),
      (-90.9627, 67.3024),
      (93.6953, -81.7194),
      (14.4294, -37.4345),
      (-77.6282, 10.401),
      (-75.7647, 97.5134),
      (46.0865, -96.7904),
      (12.3003, -67.3691),
      (-22.9769, -39.2118),
      (5.7063, 10.2964),
      (3.39856, -23.5533),
      (-73.6066, -10.688),
      (-21.4271, 75.5151),
      (-33.0878, 60.0635),
      (-39.4313, 37.8415),
      (66.0331, 43.4649),
      (26.8421, 32.5743),
      (22.3333, 34.174),
      (61.9676, -79.5465),
      (-79.9366, -59.4266),
      (12.3014, 94.7739),
      (-51.3857, 48.8694),
      (48.6361, -81.5065),
      (-86.6444, 33.5231),
      (-74.0903, -37.6819),
      (51.9559, -56.3587),
      (-25.127, -14.5076),
      (64.6212, -20.5014),
      (-94.7727, -99.5549),
      (-32.7488, -23.8244),
      (1.16468, 75.2609),
      (-77.7765, 64.6782),
      (77.2227, 9.11529),
      (8.77536, 72.1507),
      (75.926, 41.0228),
      (31.547, 73.738),
      (-93.5946, -61.7121),
      (-75.1167, 61.588),
      (41.5008, -85.2398),
      (39.3746, 4.1814),
      (55.3452, -59.8042),
      (-53.6457, -15.0828),
      (43.3687, 85.3296),
      (-84.0297, -25.5445),
      (71.93, 38.3288),
      (-74.6539, 55.0158),
      (30.2756, 96.2265),
      (-94.7389, -14.918),
      (-23.7818, 3.28305),
      (-32.6657, 30.7922),
      (93.0787, -35.878),
      (29.5907, 64.2174),
      (22.02, -80.6691),
      (-84.6473, 75.9889),
      (35.0332, -73.9399),
      (48.6224, 97.9565),
      (34.9254, -99.9148),
      (92.7384, -4.03847),
      (-40.5025, 5.07807),
      (50.2838, -91.5913),
      (-4.93916, 16.0695),
      (-70.3491, 61.192),
      (99.4348, -86.0164),
      (90.5361, -60.7943),
      (99.091, -17.6277),
      (-74.3572, 61.0123),
      (-90.1058, 11.0006),
      (-81.8772, 96.1768),
      (85.6679, -31.7845),
      (-76.1051, 72.5814),
      (-20.8124, 82.1596),
      (47.5388, 80.5737),
      (0.781009, -63.287),
      (4.16253, -25.6682),
      (-28.2048, -29.4928),
      (-95.7273, -56.8825),
      (29.9353, 96.8761),
      (13.2205, 38.9884),
      (14.0666, -66.5148),
      (-57.0452, 1.04886),
      (16.0374, 29.6584),
      (23.3769, -90.7413),
      (-75.654, 65.3857),
      (97.9675, 23.8538),
      (38.9503, 35.7562),
      (-54.616, 17.5243),
      (-28.7075, -74.4177),
      (-17.4267, 68.8976),
      (-0.695302, -21.298),
      (-98.9382, 0.482477),
      (47.7787, -17.1783),
      (63.3865, -64.1834),
      (-45.7448, -97.6457),
      (97.6683, -54.0023),
      (-54.9576, 60.7654),
      (-8.09633, 82.0718),
      (76.2796, 61.0257),
      (-14.3477, -43.6634),
      (-39.2155, -76.0895),
      (-0.894711, 87.9488),
      (74.4307, 37.4766),
      (-67.8055, 0.24939),
      (-42.2082, -54.3341),
      (-59.1534, -94.8165),
      (63.2449, 19.6437),
      (-42.7238, 92.0977),
      (18.6402, -9.12893),
      (-42.9539, 90.3829),
      (-37.057, -83.9478),
      (48.1019, -80.5618),
      (82.7234, 10.8491),
      (8.19726, 92.6545),
      (-8.47965, -40.5619),
      (8.7704, 12.257),
      (56.9741, 93.3454),
      (85.5745, 84.768),
      (-56.4246, -97.551),
      (20.8522, -49.4925),
      (-69.1247, -33.967),
      (19.6435, 27.2654),
      (-66.0106, 0.871383),
      (64.8522, -66.3261),
      (41.4987, -17.5746),
      (-91.6653, 67.216),
      (-3.41298, 7.46675),
      (71.1148, -18.0421),
      (61.4729, 33.4518),
      (-15.0116, 41.3481),
      (-63.7132, -59.3876),
      (96.0351, 8.46185),
      (52.5564, 3.51918),
      (-2.44037, -63.8145),
      (45.8265, 42.9088),
      (72.5026, -59.7133),
      (-98.8147, 38.0543),
      (91.8434, 8.78687),
      (91.2144, 12.8655),
      (-44.8546, 56.8879),
      (-57.2495, -60.287),
      (-22.827, -47.2898),
      (18.662, -36.7184),
      (60.0184, 76.4742),
      (-35.7594, 45.4986),
      (28.4224, 53.5117),
      (-55.1938, 6.99334),
      (92.0769, -5.52542),
      (59.3227, 27.6151),
      (-33.2051, 58.1283),
      (0.374786, 9.11278),
      (11.7581, 6.49651),
      (-45.6667, -47.6264),
      (14.5507, 63.8436),
      (34.1109, -93.5639),
      (83.0537, 2.11251),
      (-30.1052, -72.6598),
      (42.7962, 66.6847),
      (61.7177, 4.42237),
      (25.1779, 41.8216),
      (-42.6919, 27.5199),
      (-81.0902, -82.1707),
      (13.2582, -57.8042),
      (-26.8962, -46.892),
      (6.67377, -38.1717),
      (-80.8065, 4.95907),
      (-65.8653, 39.1353),
      (97.3121, 11.5907),
      (66.8569, -45.5669),
      (-75.9357, -47.6733),
      (-7.75289, 92.4083),
      (-25.6247, -11.073),
      (37.7153, -65.7825),
      (-94.8615, 41.8535),
      (48.265, -27.075),
      (7.42442, -76.3083),
      (8.63367, -78.0443),
      (14.8789, 42.7029),
      (99.8106, -70.2184),
      (-54.3006, -15.9022),
      (56.0986, -59.9716),
      (-69.3547, 63.6743),
      (31.5335, 34.165),
      (90.2577, -47.9609),
      (-19.4997, -54.3456),
      (-33.0615, 17.7389),
      (32.2429, 88.8899),
      (18.9249, 60.7973),
      (30.8116, -89.6073),
      (54.4314, 12.1737),
      (37.8362, -95.6698),
      (58.6613, -97.3781),
      (-11.8856, 63.549),
      (-16.0712, -75.7374),
      (-77.4221, 61.9712),
      (-85.0104, -64.7365),
      (-44.6822, -33.8237),
      (-66.4933, -77.8219),
      (16.0412, 30.1281),
      (-96.3615, -84.7),
      (21.1846, -9.12504),
      (25.4406, -77.0013),
      (97.689, -79.7605),
      (-94.1405, -53.2401),
      (13.1107, -81.0718),
      (94.1717, -1.93244),
      (-90.2521, 11.8833),
      (-61.6675, 63.0034),
      (40.7573, 6.26344),
      (95.5292, 76.3916),
      (64.8546, -7.52674),
      (37.9346, -59.9058),
      (-6.66442, 68.648),
      (26.4428, 87.0895),
      (-9.54577, -41.248),
      (-62.2704, 61.4427),
      (-7.57097, -57.0933),
      (90.753, 81.324),
      (51.8897, 15.3187),
      (0, 0),
      Elapsed time in milliseconds : 512 µs Points after transformation
    : (-106.248, -58.1698),
      (-61.6018, 83.5422),
      (-105.348, -35.972),
      (54.3004, -76.6603),
      (35.1276, -46.689),
      (-1.61383, -79.3568),
      (-21.901, -37.3247),
      (32.1534, -24.9224),
      (18.3828, -11.1982),
      (31.493, -11.2895),
      (-41.6338, -55.6973),
      (-66.4939, 25.1685),
      (-119.397, -49.7454),
      (30.0027, 53.6356),
      (83.7458, -43.4284),
      (24.1006, -42.6661),
      (62.3163, -22.1449),
      (-72.4348, -41.1836),
      (63.9873, -1.11258),
      (59.5244, -42.8837),
      (-59.3186, 54.3679),
      (-39.5826, 98.9754),
      (-24.5117, 26.8174),
      (-47.632, 1.00507),
      (-9.18853, 93.1998),
      (-32.8248, 31.6532),
      (-100.296, -72.8247),
      (11.0491, 4.38668),
      (-63.9475, 87.44),
      (108.814, 31.7439),
      (49.9217, 51.6688),
      (-38.3788, -5.02119),
      (34.5697, -66.2669),
      (-15.6425, -104),
      (-17.5211, -57.5388),
      (-52.3147, 29.8076),
      (83.4157, -17.4951),
      (-0.24054, -9.39056),
      (79.7942, -36.1207),
      (-38.8874, 99.4708),
      (62.9446, -103.765),
      (-50.6774, 49.9598),
      (-9.3992, 50.3402),
      (-11.6267, 41.5884),
      (44.2184, 30.4844),
      (-53.6605, -6.35316),
      (-17.5355, 93.5676),
      (-116.296, -57.1239),
      (-51.1183, 107.44),
      (27.039, -97.9259),
      (-103.835, -39.3818),
      (97.2087, -0.844381),
      (55.2582, -92.6056),
      (18.0627, 39.7303),
      (-11.5826, -51.0238),
      (82.1182, 24.5079),
      (-45.1936, 38.823),
      (-18.4487, 29.794),
      (-65.3099, 15.6852),
      (-30.5922, 36.6623),
      (58.2648, -65.6673),
      (-68.5588, -41.0293),
      (-6.91071, 7.48764),
      (64.3257, -86.5385),
      (-70.0162, -54.7306),
      (-119.07, -66.2418),
      (-66.7803, 0.554078),
      (41.2808, -92.566),
      (28.509, 14.9255),
      (47.5113, 5.44135),
      (-68.2221, 12.7443),
      (89.6733, 49.781),
      (80.4551, 40.0134),
      (-55.716, -71.0838),
      (-27.2824, -93.8702),
      (30.3795, -5.31545),
      (38.9979, 19.0271),
      (64.9221, -38.7874),
      (21.2894, -27.0575),
      (-62.4409, 80.6987),
      (-60.6232, 38.0956),
      (51.5682, -92.2685),
      (61.5652, -82.7693),
      (-8.65867, 77.374),
      (108.914, 19.3803),
      (69.1794, -47.5187),
      (-10.5534, -80.7869),
      (92.1131, -24.4103),
      (-83.9424, 47.0169),
      (7.93931, 31.3074),
      (51.0087, -54.0866),
      (-54.8199, 40.0471),
      (-91.4363, 47.0665),
      (42.6082, 67.8541),
      (-18.2367, -95.6482),
      (53.7246, 22.9419),
      (-70.9134, 85.2387),
      (-71.2766, -17.8766),
      (27.2817, -43.755),
      (-108.903, -19.1429),
      (-45.633, 38.7802),
      (50.8673, 76.5933),
      (38.265, 2.86955),
      (-9.24625, 47.5866),
      (15.4493, -9.63377),
      (-70.6829, -34.812),
      (33.4329, -73.0714),
      (59.3285, -108.526),
      (-23.3104, 63.4369),
      (-5.38714, 34.9323),
      (46.466, 59.8946),
      (-90.8213, -33.7354),
      (-2.08616, 18.3541),
      (-54.6093, 49.3736),
      (-68.2278, -18.3825),
      (-67.0366, 79.1047),
      (-30.5763, -79.321),
      (18.4448, 47.0329),
      (-95.8489, 2.98164),
      (-80.5824, -36.0342),
      (-3.87832, -47.4658),
      (11.8943, -84.4846),
      (59.7561, -37.7222),
      (-89.7127, -52.2553),
      (90.9633, 44.6546),
      (-89.6651, 17.4019),
      (22.2462, 14.4859),
      (-84.3696, 60.7851),
      (25.6443, -12.9292),
      (-1.96833, -48.4571),
      (107.017, 52.909),
      (40.7616, -11.8465),
      (46.1447, -13.8498),
      (-59.2645, -50.8522),
      (-16.6523, 23.7141),
      (54.2532, 26.7118),
      (83.9934, -9.63453),
      (-7.45443, -58.9176),
      (57.0919, -36.7376),
      (-86.2231, 56.3211),
      (-25.8341, 43.6856),
      (-99.4535, -17.964),
      (-56.6329, 41.8817),
      (74.1517, -6.96004),
      (46.9316, -96.081),
      (-57.1268, 119.864),
      (94.0317, -13.9452),
      (-25.9019, 41.0271),
      (52.4275, -59.5993),
      (-128.404, -61.4848),
      (78.4694, 49.685),
      (-6.12827, -10.4642),
      (-82.8261, 27.302),
      (26.0925, -41.4254),
      (42.3527, -22.5968),
      (-42.1951, 91.3904),
      (-60.0131, 91.1252),
      (68.5915, 19.5368),
      (7.89338, 76.6223),
      (79.8953, 38.3123),
      (56.243, 60.5596),
      (-95.6477, -12.2422),
      (-49.8618, 55.0537),
      (74.6791, 17.8979),
      (-25.0364, -60.2721),
      (106.325, 52.6589),
      (61.2715, 19.7576),
      (87.1689, -20.9804),
      (0.995646, 31.2894),
      (-79.3193, 75.1035),
      (-44.0814, -20.7931),
      (13.7428, -79.414),
      (83.198, -16.7478),
      (60.3507, 64.0188),
      (51.7784, -123.224),
      (60.2019, -52.2051),
      (-87.1738, -44.2406),
      (-94.5667, -72.1266),
      (-53.484, 32.1511),
      (37.1538, -7.46261),
      (-77.4335, 9.48719),
      (-70.3736, -5.17844),
      (-89.1541, -41.6109),
      (12.2266, -92.3432),
      (-58.7432, 1.44174),
      (39.9595, 76.5674),
      (-18.0429, 75.5388),
      (-69.1881, 95.692),
      (-57.2615, 6.04599),
      (70.8854, -34.188),
      (-1.01014, 69.0662),
      (40.3285, 44.2744),
      (75.7847, -48.1198),
      (104.74, 9.25035),
      (-18.1297, 1.53139),
      (-122.715, -59.1735),
      (110.074, 60.7157),
      (54.0052, -7.78518),
      (75.1771, -75.5592),
      (-1.31891, -66.3832),
      (81.7122, 27.9204),
      (-99.3567, -46.1976),
      (81.0584, 13.1309),
      (40.0153, -17.7298),
      (-47.9281, -46.9199),
      (44.1632, -50.748),
      (-39.7349, 76.8671),
      (-32.4412, 2.16031),
      (85.2982, -48.419),
      (-5.39303, -35.1234),
      (-39.524, -41.972),
      (11.9849, -110.487),
      (12.3964, 94.1441),
      (-34.9461, -44.3144),
      (26.8291, -57.6211),
      (5.09732, -65.562),
      (-76.6301, 49.7292),
      (-21.0198, 99.1651),
      (55.6479, -3.84022),
      (0.416917, 90.2255),
      (-102.71, 6.00119),
      (58.2264, -120.736),
      (-117.305, -30.3944),
      (-53.2666, 111.229),
      (9.65685, 93.3203),
      (4.67939, -60.6649),
      (14.4563, 95.3485),
      (-56.3139, 93.1903),
      (46.1552, 33.42),
      (-71.3537, 52.0564),
      (28.2373, -108.352),
      (39.7581, -99.2867),
      (-100.762, 13.3144),
      (18.1543, 95.1596),
      (-1.9864, 34.0284),
      (-33.9577, 89.9664),
      (100.657, 33.9998),
      (9.6088, 71.1628),
      (70.345, -71.9664),
      (65.525, -71.9364),
      (-89.2247, -53.6808),
      (-29.7507, 96.4309),
      (39.9088, 47.1753),
      (55.7051, 26.093),
      (-77.2863, 5.41422),
      (59.9303, 41.4461),
      (-104.656, -19.3937),
      (81.3503, -58.2198),
      (-43.9509, -57.0083),
      (97.0107, -0.353705),
      (8.34625, 97.5795),
      (-42.1905, 21.2509),
      (-14.9986, 26.4856),
      (-42.2221, 40.9478),
      (-2.84289, -56.5846),
      (-63.0364, -69.7341),
      (35.2912, -6.7387),
      (26.0139, 22.3049),
      (-20.8145, 60.0948),
      (30.4336, -66.4667),
      (2.5, -89.5176),
      (-6.48615, 3.06797),
      (89.6127, 65.3881),
      (-11.8159, 61.5757),
      (-39.0905, 55.3145),
      (-77.3737, -48.8787),
      (35.0716, 27.4313),
      (-58.3052, -65.5762),
      (46.9212, 54.1991),
      (85.2601, 50.6405),
      (-103.786, -58.156),
      (62.7927, -37.2167),
      (15.6445, 57.5859),
      (56.2916, -121.303),
      (34.6003, -98.805),
      (56.5286, -102.96),
      (44.719, 19.8921),
      (-1.08063, 26.948),
      (-7.33285, 36.294),
      (93.6867, 56.2215),
      (-93.1489, -66.9051),
      (-79.0857, 81.1767),
      (30.9018, -51.6184),
      (-7.41866, 22.1222),
      (-124.175, -61.7448),
      (80.0936, 30.376),
      (55.5218, 55.491),
      (5.07422, -78.6159),
      (-29.9833, -70.9061),
      (-31.5012, 11.3404),
      (25.4838, 71.8091),
      (-29.8679, 25.5989),
      (67.1434, -88.2434),
      (-63.4105, 45.0034),
      (88.9864, 46.2794),
      (44.8376, 12.5393),
      (89.9246, 27.8963),
      (71.0281, -41.5664),
      (-40.991, 31.3474),
      (0.0206995, 79.5003),
      (-62.8048, 32.1576),
      (-57.8645, 10.5405),
      (-38.1454, -44.2343),
      (83.8306, 22.9024),
      (55.3874, -90.8944),
      (33.8469, 6.86628),
      (-36.1742, -59.7223),
      (67.6866, -2.19205),
      (-50.5594, 80.6722),
      (-119.492, -50.2611),
      (-50.7336, -66.9638),
      (-18.4628, -55.4358),
      (-30.6355, -33.2652),
      (-64.4815, -62.9926),
      (-38.7349, -35.3077),
      (65.255, 27.1753),
      (70.6041, 65.4898),
      (-26.6789, -81.1495),
      (-68.1081, -60.7724),
      (-10.5699, -85.3544),
      (-8.08725, 18.8954),
      (-65.2197, -73.2164),
      (-116.053, -39.2676),
      (103.147, 7.81992),
      (45.8778, -3.08202),
      (103.169, 14.4048),
      (83.7383, -46.3563),
      (59.7719, 24.6006),
      (-25.2079, 5.19731),
      (-50.7472, -27.9846),
      (20.1028, 78.2977),
      (59.5275, 68.8797),
      (85.8195, 1.74135),
      (-40.43, -84.7325),
      (15.6235, -24.6387),
      (-87.2871, -14.1171),
      (-12.397, -20.3911),
      (-24.3396, 4.07285),
      (-3.9705, 15.0205),
      (-4.95378, -68.2668),
      (-38.643, 21.2255),
      (-29.4984, -62.9254),
      (101.657, 13.6832),
      (50.7297, 58.2275),
      (94.804, 14.4524),
      (86.1305, -24.8616),
      (-57.871, 27.0973),
      (14.4758, -75.4886),
      (48.7906, 12.5176),
      (53.081, 5.89112),
      (-81.0765, -52.9544),
      (-29.8073, -72.0047),
      (-15.3511, -44.9914),
      (-44.2673, -69.9409),
      (-9.24654, -11.8157),
      (54.125, -123.842),
      (45.5717, 54.4389),
      (34.4903, 47.9356),
      (-23.432, -79.7341),
      (73.7082, -1.80046),
      (-0.0854495, -92.275),
      (-2.20969, -34.1299),
      (-75.3906, -67.9138),
      (63.7965, 38.9403),
      (79.3747, -53.2432),
      (110.018, 49.4509),
      (-5.1357, -84.1214),
      (-117.499, -30.217),
      (60.8019, -60.2401),
      (101.121, -2.14535),
      (38.4986, 30.9158),
      (33.6107, -30.4022),
      (-72.1475, -0.869189),
      (-20.413, 15.6835),
      (-61.3255, 60.0057),
      (-61.3266, 22.5793),
      (87.4155, -39.8619),
      (-89.0865, -16.6956),
      (11.6949, -61.7038),
      (13.9514, 70.9255),
      (62.7603, -5.94837),
      (-30.7429, 98.9765),
      (-64.4614, 79.3256),
      (-4.35966, -86.0338),
      (-43.1231, -80.5852),
      (-5.99878, -49.8142),
      (36.6943, -64.2893),
      (25.1497, 81.0558),
      (49.4152, -85.4341),
      (-8.95425, -58.3792),
      (-47.2354, -34.2466),
      (-35.346, -73.5073),
      (107.584, 55.1615),
      (63.5792, 58.5324),
      (26.3405, -80.4544),
      (2.51712, 44.9626),
      (-42.5247, -80.0879),
      (-107.187, -47.4522),
      (-0.385488, 28.8109),
      (-86.1022, -60.0719),
      (-22.5651, 4.46348),
      (-48.611, -4.48371),
      (-24.9937, 95.191),
      (15.8598, 20.5258),
      (-5.00809, 91.0034),
      (-58.2381, 97.9321),
      (-78.2285, 77.8475),
      (-105.249, -41.9562),
      (-26.1751, 87.212),
      (70.8526, -24.0935),
      (-6.01476, -104.82),
      (18.7018, 9.90281),
      (-90.3874, -18.3288),
      (-87.2998, -28.8169),
      (52.7456, -78.3536),
      (-61.9323, 12.1732),
      (-91.8466, -40.1629),
      (84.98, -49.7529),
      (8.66275, -103.907),
      (-43.712, 50.4759),
      (-90.443, -50.0242),
      (-42.0238, -56.9818),
      (18.3073, 50.2422),
      (-122.364, -55.8834),
      (-5.91402, 53.8132),
      (-96.691, 33.1581),
      (-56.3254, -36.3236),
      (-34.8629, 45.7824),
      (60.6445, -22.5993),
      (22.0083, -100.811),
      (12.2535, -57.0823),
      (3.13302, -81.7744),
      (-103.121, -10.9223),
      (-72.9332, 97.2017),
      (-32.6962, 70.4586),
      (-71.1763, 35.4166),
      (33.1526, 60.8322),
      (-106.557, -70.3376),
      (49.3985, -115.069),
      (-7.60599, 17.3203),
      (32.5492, -94.5355),
      (-30.0872, -15.9829),
      (-32.1265, 19.9518),
      (25.7137, 29.7952),
      (38.9645, 37.0602),
      (-2.69314, 5.48889),
      (4.1063, 40.9068),
      (-44.9343, 58.297),
      (-111.3, -56.2098),
      (-45.2371, 56.2388),
      (13.8065, -108.905),
      (-29.5604, 20.534),
      (68.6615, 74.9695),
      (-99.9642, -26.1853),
      (24.3845, -49.7727),
      (73.8719, 7.87183),
      (-58.5693, -21.5228),
      (88.6389, -19.6395),
      (-46.4282, -57.5954),
      (63.7033, -0.993556),
      (-85.0135, 62.533),
      (85.7542, 30.4177),
      (-44.9606, -20.1924),
      (64.4312, 13.4758),
      (-39.9908, 17.0315),
      (23.1296, 19.3511),
      (-50.097, 102.56),
      (-86.7716, 40.0625),
      (72.7594, -67.3442),
      (-29.9304, -29.534),
      (62.6439, 65.848),
      (-21.2017, 4.90406),
      (-89.5176, 35.0839),
      (-108.255, -1.57319),
      (-53.5589, 102.15),
      (117.517, 50.706),
      (-17.7053, 74.2989),
      (71.072, -41.4393),
      (17.4169, 71.8506),
      (-14.1134, 59.6185),
      (-30.8208, 91.5972),
      (-25.8551, 5.72614),
      (13.703, 80.8442),
      (35.9638, -121.387),
      (-83.1278, -62.3284),
      (36.9737, -76.6483),
      (-11.2435, -24.3203),
      (36.2448, -6.73817),
      (55.3825, -61.5046),
      (-29.9648, 53.8492),
      (49.1114, 8.34479),
      (-26.688, 81.2019),
      (82.2057, 42.4737),
      (-107.923, -4.54915),
      (101.792, 34.8796),
      (-111.024, -40.3937),
      (-55.4036, 118.475),
      (-1.68036, -69.8715),
      (-41.9497, 85.1676),
      (-68.5371, -77.2418),
      (-16.2455, 102.554),
      (-100.706, -69.1814),
      (-30.9413, 100.154),
      (-71.2439, 24.8618),
      (-43.2244, -10.6576),
      (28.0769, 42.142),
      (-32.9247, 91.8873),
      (-11.6639, 78.6142),
      (34.9562, -28.4902),
      (20.7415, 93.7748),
      (89.3371, 16.7441),
      (85.9988, -24.9274),
      (-89.4013, 8.9129),
      (-17.6403, 24.0541),
      (-41.2997, 29.3769),
      (56.4943, -14.6611),
      (-85.8398, -22.261),
      (-11.884, -69.9552),
      (-75.8136, -79.361),
      (111.009, 24.9265),
      (-24.2994, -27.5614),
      (26.6122, -13.1733),
      (12.4948, 7.13941),
      (47.4114, 61.3219),
      (92.657, 16.3345),
      (13.5185, -32.2282),
      (-81.4201, 31.0197),
      (-37.3495, 89.3621),
      (-62.2301, -52.197),
      (-15.3024, 37.0218),
      (56.8575, 27.8112),
      (38.8418, 47.7698),
      (116.181, 53.7661),
      (94.7092, 7.2308),
      (-12.0776, -70.5759),
      (31.6719, -115.589),
      (-19.4881, 54.2939),
      (-13.8964, 41.9251),
      (-66.4838, -82.3132),
      (-76.0038, 73.4227),
      (-78.1544, -30.9816),
      (-38.5031, -95.2902),
      (65.9075, -33.5598),
      (46.381, -61.8491),
      (-78.8989, 48.3934),
      (-53.3505, 68.7971),
      (71.7381, -40.6308),
      (-6.20604, 92.0618),
      (81.021, -27.5349),
      (108.587, 54.4354),
      (45.8551, -55.8132),
      (-74.7031, 48.0932),
      (-85.0318, -68.3066),
      (-33.3607, -68.8644),
      (-76.7853, 55.8775),
      (64.9956, -86.0925),
      (-60.8503, -44.6733),
      (22.0189, 58.8842),
      (3.35032, -64.0499),
      (101.049, 38.3153),
      (-32.8543, 65.6024),
      (-2.45647, 72.8794),
      (-104.363, -53.5834),
      (-3.26865, 84.8349),
      (-86.6259, -9.67364),
      (40.1445, 62.5957),
      (-57.4762, 9.7719),
      (61.9507, 34.6194),
      (-82.2469, -15.2778),
      (98.168, 12.4847),
      (-23.118, 9.6),
      (-65.8625, -74.9472),
      (-81.4614, -48.0103),
      (4.53162, 66.9968),
      (-67.2969, 65.7493),
      (-33.0829, 30.2983),
      (-27.3829, -70.5043),
      (55.5574, -85.6658),
      (80.09, 50.874),
      (-60.5547, -38.3429),
      (96.1532, -19.7032),
      (-52.1746, 67.0414),
      (-13.3351, 67.8525),
      (3.92672, -86.8517),
      (36.592, -25.7104),
      (-56.0382, 8.7387),
      (-39.9021, 113.787),
      (-47.8412, -9.03161),
      (-60.6458, 58.9755),
      (-7.97247, -100.623),
      (12.7063, -98.2841),
      (110.52, 35.733),
      (46.0418, -50.1882),
      (-22.8995, 33.6662),
      (-122.428, -53.3418),
      (-43.7233, -39.0473),
      (-82.849, -67.8081),
      (-43.2412, -47.9464),
      (-103.075, -49.0085),
      (-71.4209, -43.4417),
      (-79.9503, 50.0983),
      (-63.1666, 50.7608),
      (-85.4144, 35.7359),
      (-11.0829, 71.9908),
      (8.84005, -27.2573),
      (-18.3536, 10.2744),
      (-71.2533, -44.7774),
      (56.1969, -54.8276),
      (35.0383, 14.5143),
      (-49.6875, 81.2641),
      (54.737, 37.3811),
      (32.1119, 37.4851),
      (-8.7558, 14.5997),
      (76.1427, -37.3875),
      (76.919, 0.773368),
      (15.9779, -82.59),
      (73.0608, -24.0728),
      (-89.4495, -10.8414),
      (87.4074, -44.801),
      (-25.1655, -49.2236),
      (-84.9751, -76.2067),
      (-51.448, 3.49793),
      (-5.59715, -102.389),
      (-41.1003, 104.203),
      (114.367, 34.447),
      (-29.9722, -86.3333),
      (1.28985, -85.0412),
      (35.5534, -105.525),
      (-83.9501, -44.6737),
      (-41.0138, 58.7039),
      (17.8963, -107.829),
      (-25.3443, -66.1238),
      (45.0452, -49.1857),
      (-55.6077, 65.7787),
      (39.0148, -36.7177),
      (27.2115, -16.381),
      (-5.16529, 96.6807),
      (-53.744, 50.3635),
      (-31.665, -12.2092),
      (-108.235, -56.709),
      (42.8129, -4.34126),
      (-54.7165, 62.4139),
      (-126.171, -52.4217),
      (15.7168, 62.6194),
      (41.534, 4.53204),
      (67.3379, -58.1966),
      (62.6748, -40.0741),
      (-94.6193, 37.4478),
      (82.5918, -47.6792),
      (5.45715, -71.5592),
      (-87.521, -62.1627),
      (-10.498, -15.5864),
      (-28.1295, 13.3543),
      (83.9236, -49.6178),
      (68.0723, 59.2217),
      (62.615, -47.3757),
      (-19.7485, 36.4453),
      (-7.27945, -48.8475),
      (89.6327, 23.1397),
      (111.585, 29.5628),
      (41.7432, -40.3969),
      (-4.67009, 96.3261),
      (-0.872323, 62.8208),
      (19.0868, 31.7558),
      (-28.6896, 25.7495),
      (63.4688, 67.6175),
      (17.5108, -92.5579),
      (-76.1438, 24.7846),
      (16.1372, -13.4528),
      (-6.98311, -16.3321),
      (34.7496, -62.6604),
      (-2.76449, -49.6187),
      (73.0992, 51.4967),
      (-27.0828, 50.3409),
      (-25.4363, -66.9964),
      (-17.6145, 3.82246),
      (81.8268, 22.8105),
      (2.11557, -25.7672),
      (53.7879, 12.827),
      (-77.6861, -79.9526),
      (-10.9748, -20.9157),
      (75.2398, -70.6203),
      (-39.7172, -67.9725),
      (-23.4983, 101.361),
      (-90.0515, -43.8439),
      (78.3686, -10.8255),
      (-80.8027, 6.76257),
      (-79.7152, -17.2184),
      (-115.693, -67.141),
      (41.4826, -44.947),
      (10.3106, -82.5361),
      (-59.9686, 77.025),
      (25.2331, 75.1374),
      (-63.7926, -53.2425),
      (6.85299, 33.611),
      (38.4442, 7.81217),
      (6.55108, -41.4781),
      (-51.4662, 30.7686),
      (77.6275, -12.3906),
      (64.3999, -97.2192),
      (82.967, -14.9409),
      (36.5648, 38.6236),
      (29.7997, -2.70197),
      (42.5006, -69.4926),
      (-62.5874, -24.6567),
      (-0.495216, 30.0353),
      (-19.1854, 61.6976),
      (-23.9747, 84.5469),
      (-52.3797, 12.7253),
      (-28.5777, -92.3614),
      (50.3009, 62.9266),
      (25.5346, 65.8391),
      (17.1026, 62.1738),
      (10.4903, 33.6997),
      (-14.4253, 13.8618),
      (-66.1825, -73.5438),
      (-68.4772, -45.9584),
      (2.76512, 55.2273),
      (-93.8691, -3.64616),
      (16.0601, 58.5535),
      (98.1732, 57.0421),
      (-7.87587, -85.9001),
      (-78.6882, -29.6969),
      (6.56249, -79.6579),
      (45.4091, 51.6063),
      (-20.7336, 33.9448),
      (-75.439, -75.2411),
      (73.6061, 6.76211),
      (-33.6305, -3.65526),
      (-44.1837, 25.4143),
      (-5.07887, 95.7823),
      (87.3324, 39.6049),
      (-36.78, -43.0159),
      (-64.8319, 68.7806),
      (-45.6145, -53.8535),
      (-83.0736, -1.56672),
      (32.1708, 16.71),
      (-69.2496, 2.72662),
      (86.9027, 36.7776),
      (46.9791, -23.8797),
      (-14.395, -34.3986),
      (-117.79, -30.8672),
      (101.44, 56.0098),
      (50.0605, -117.621),
      (57.3405, -108.578),
      (-111.035, -14.6933),
      (-61.3532, 1.0919),
      (-26.8751, 46.3),
      (-60.0499, 97.6949),
      (29.9667, -72.4925),
      (-3.77093, -77.5321),
      (25.2927, 44.8688),
      (-49.1083, 14.9129),
      (-30.708, -10.1543),
      (-54.2923, -40.8113),
      (-54.4467, 69.5415),
      (-21.6871, 71.7917),
      (-74.4378, -49.2776),
      (-82.2171, 9.507),
      (18.7572, -101.439),
      (30.6811, -73.9362),
      (-22.7047, -90.0131),
      (-51.9355, 5.90859),
      (2.71811, -57.2276),
      (18.4656, 79.4108),
      (-57.4734, 95.3885),
      (87.1342, 45.3588),
      (36.9075, 62.8964),
      (-52.0568, -35.2531),
      (-17.2916, -74.2016),
      (-20.9412, 68.5624),
      (93.5298, -14.0352),
      (21.924, -79.5513),
      (26.1436, 80.831),
      (15.9284, 27.8641),
      (-42.7856, -3.27515),
      (-61.665, -30.9067),
      (-59.4272, -34.7418),
      (22.9403, -45.492),
      (65.1646, -10.6534),
      (-14.5902, 15.7901),
      (-49.322, -69.1557),
      (48.0733, 18.485),
      (-99.4695, -71.6696),
      (-66.1392, 91.8239),
      (56.7119, -111.188),
      (-2.72811, -42.55),
      (-72.9852, 33.7833),
      (-41.5589, 115.051),
      (6.81661, -109.14),
      (-14.9268, -69.969),
      (-38.5026, -31.4788),
      (5.32968, 5.29773),
      (-8.37067, -25.7414),
      (-76.3879, 12.5857),
      (2.03528, 75.8587),
      (-14.1914, 65.3033),
      (-27.7253, 46.5712),
      (73.3471, 15.9326),
      (32.7902, 19.0435),
      (29.096, 22.0834),
      (27.6218, -98.3369),
      (-98.9417, -31.0818),
      (40.3069, 82.4763),
      (-35.2083, 61.0118),
      (14.4201, -95.6384),
      (-73.5858, 58.5939),
      (-86.0379, -12.629),
      (26.1077, -73.1255),
      (-32.1089, -7.51972),
      (50.23, -43.727),
      (-126.56, -63.7564),
      (-42.4486, -13.6829),
      (23.1893, 67.924),
      (-54.6355, 84.8649),
      (72.1665, -20.1743),
      (29.2854, 62.4072),
      (81.8164, 10.2666),
      (51.2358, 56.1426),
      (-112.561, -28.578),
      (-53.1875, 81.0535),
      (6.43976, -96.7179),
      (34.9013, -11.9204),
      (28.1206, -77.5195),
      (-59.1179, 1.65415),
      (66.2991, 63.014),
      (-91.2484, 2.16827),
      (77.1417, 9.09501),
      (-54.9911, 74.7167),
      (57.701, 77.7192),
      (-97.6973, 15.8072),
      (-24.7839, 8.74872),
      (-23.7657, 37.6389),
      (71.7477, -67.8779),
      (46.1534, 47.8578),
      (-10.319, -85.7845),
      (-57.2425, 97.8396),
      (4.20821, -83.8906),
      (75.5398, 73.0961),
      (-4.74128, -108.275),
      (82.2736, -37.8266),
      (-39.8931, 16.1322),
      (12.5338, -105.681),
      (-2.71256, 14.3518),
      (-48.8398, 79.0571),
      (60.6444, -117.183),
      (60.8695, -90.4379),
      (83.6172, -52.7671),
      (-52.6695, 80.2534),
      (-84.5123, 38.5974),
      (-47.7612, 115.877),
      (66.1745, -61.5047),
      (-50.3719, 91.7261),
      (4.87661, 81.8964),
      (68.5997, 57.1221),
      (-24.3666, -62.2071),
      (-8.37282, -27.99),
      (-40.1072, -20.5602),
      (-112.921, -23.3108),
      (57.6023, 78.446),
      (22.1682, 29.714),
      (-12.9752, -69.7675),
      (-56.819, 17.9791),
      (21.6384, 19.9826),
      (-12.4743, -95.7165),
      (-52.3989, 84.807),
      (96.6912, -13.3838),
      (45.2582, 17.9105),
      (-48.9228, 32.6417),
      (-55.8832, -62.627),
      (3.54226, 68.2742),
      (-11.4514, -22.2264),
      (-96.3994, 31.7171),
      (35.5268, -34.8654),
      (34.1893, -84.3759),
      (-79.8139, -78.6623),
      (69.8888, -86.4816),
      (-34.5142, 73.413),
      (16.8023, 77.4822),
      (88.9627, 28.9529),
      (-31.906, -38.6036),
      (-66.3321, -60.6194),
      (25.5752, 80.5545),
      (79.2026, 7.4419),
      (-67.2081, 20.8928),
      (-61.735, -39.1457),
      (-91.4569, -71.4347),
      (62.6111, -5.51413),
      (-12.3389, 98.7041),
      (10.8729, -17.3717),
      (-13.1394, 97.1702),
      (-66.9796, -68.743),
      (14.2396, -94.5683),
      (77.9288, -20.4179),
      (35.7263, 81.8817),
      (-25.3324, -37.6866),
      (8.87839, 6.09732),
      (81.8213, 65.9158),
      (105.789, 48.1089),
      (-89.8228, -74.9352),
      (-0.796881, -56.0747),
      (-80.1039, -10.8278),
      (24.2137, 16.5042),
      (-65.3086, 20.8662),
      (34.8374, -86.8898),
      (29.4874, -33.0988),
      (-66.8292, 91.982),
      (-4.2081, 5.74372),
      (57.173, -43.6268),
      (65.6488, 8.07178),
      (-3.57161, 41.5497),
      (-83.6754, -36.5714),
      (89.6313, -27.1969),
      (47.0692, -17.0333),
      (-27.5751, -61.6058),
      (54.1596, 22.293),
      (44.2828, -83.2785),
      (-83.4847, 66.9997),
      (85.801, -25.4635),
      (86.599, -21.4145),
      (-26.3363, 66.3259),
      (-77.9046, -39.6189),
      (-41.1134, -39.1248),
      (1.49534, -43.3185),
      (78.9365, 49.0167),
      (-21.6647, 52.5195),
      (41.4082, 38.1904),
      (-53.0533, 22.9374),
      (81.1451, -38.9993),
      (61.6389, 3.31669),
      (-14.961, 63.5238),
      (-0.0861613, 6.00103),
      (9.7251, -0.336388),
      (-62.7018, -31.6611),
      (31.8856, 52.6296),
      (-3.34369, -102.027),
      (75.2633, -28.7445),
      (-56.5984, -60.4982),
      (59.4096, 45.6792),
      (55.9903, -19.3049),
      (34.3755, 28.3046),
      (-34.307, 37.9776),
      (-107.774, -52.0727),
      (-10.768, -61.3025),
      (-44.8038, -37.3646),
      (-10.271, -40.6012),
      (-77.8271, 29.7495),
      (-52.1377, 56.7922),
      (91.8977, -24.6902),
      (43.7936, -68.055),
      (-91.1765, -21.3943),
      (20.6462, 87.0835),
      (-31.4069, -4.12099),
      (9.50858, -77.1348),
      (-78.4738, 69.2251),
      (32.6128, -44.3359),
      (-22.5562, -76.7127),
      (-22.0106, -78.7567),
      (24.9927, 32.6415),
      (66.3792, -102.458),
      (-60.0128, 1.10688),
      (28.772, -77.9335),
      (-47.0594, 81.0522),
      (37.7429, 18.941),
      (64.9794, -78.2772),
      (-40.3886, -46.892),
      (-28.5843, 25.5011),
      (57.0515, 70.1513),
      (34.9605, 48.2755),
      (-5.09795, -97.1829),
      (51.7801, -9.5351),
      (-0.558619, -105.276),
      (18.4391, -113.976),
      (6.92995, 61.358),
      (-44.4522, -68.1723),
      (-55.2244, 82.1991),
      (-105.521, -34.3457),
      (-57.0744, -19.0192),
      (-92.5687, -52.9563),
      (21.802, 20.4228),
      (-122.994, -49.2486),
      (13.2665, -18.2347),
      (-5.85361, -83.5013),
      (61.1339, -110.706),
      (-110.189, -20.4268),
      (-18.8327, -83.1283),
      (84.3385, -36.3348),
      (-84.3492, 39.4772),
      (-40.0604, 77.8028),
      (36.9105, -10.4339),
      (112.295, 36.8425),
      (54.8692, -31.6079),
      (11.7166, -71.6842),
      (13.5758, 64.3735),
      (50.985, 70.4343),
      (-26.5684, -37.9684),
      (-41.159, 76.5408),
      (-30.1093, -53.5388),
      (109.485, 43.1069),
      (50.4618, -5.7124),
      (-3.54273, -2.43907),

猜你喜欢

转载自blog.csdn.net/davidhopper/article/details/80068142