diff --git a/MeanShift b/MeanShift index 218cb01..10ab95a 100755 Binary files a/MeanShift and b/MeanShift differ diff --git a/MeanShift.h b/MeanShift.h index 22aadb0..6123a03 100644 --- a/MeanShift.h +++ b/MeanShift.h @@ -11,7 +11,7 @@ struct Cluster { class MeanShift { public: MeanShift() { set_kernel(NULL); } - MeanShift(double (*_kernel_func)(double,double)) { set_kernel(kernel_func); } + MeanShift(double (*_kernel_func)(double,double)) { set_kernel(_kernel_func); } std::vector > meanshift(const std::vector > &, double); std::vector cluster(const std::vector > &, double); diff --git a/README.md b/README.md index 3afc10c..2f07ee9 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,9 @@ To cluster a set of points, create a MeanShift object and call the `cluster` met ## Example ```cpp vector > points = load_points("test_simple.csv"); -MeanShift *ms = new MeanShift(NULL); +MeanShift *ms = new MeanShift(); double kernel_bandwidth = 2; -vector > shifted_points = ms->cluster(points, 2); +vector clusters = ms->cluster(points, 2); ``` ## Visualization for Linux @@ -36,7 +36,7 @@ The program will generate a csv file named "result.csv". Plot it ```bash gnuplot -plot 'test.csv' with points, 'result.csv' with points +plot 'test.csv' using 1:2 "%lf,%lf", 'result.csv' using 1:2 "%lf,%lf" ``` ## License diff --git a/cpp_test.cpp b/cpp_test.cpp index cac6edc..245d2e7 100644 --- a/cpp_test.cpp +++ b/cpp_test.cpp @@ -61,11 +61,11 @@ int main(int argc, char **argv) for(int point = 0; point < clusters[cluster].original_points.size(); point++){ for(int dim = 0; dim < clusters[cluster].original_points[point].size(); dim++) { printf("%f ", clusters[cluster].original_points[point][dim]); - fprintf(fp, dim?",%f":"%f", clusters[cluster].original_points[point][dim]); } printf(" -> "); for(int dim = 0; dim < clusters[cluster].shifted_points[point].size(); dim++) { printf("%f ", clusters[cluster].shifted_points[point][dim]); + fprintf(fp, dim?",%f":"%f", clusters[cluster].shifted_points[point][dim]); } printf("\n"); fprintf(fp, "\n"); diff --git a/result.csv b/result.csv index ef857e0..51b8836 100644 --- a/result.csv +++ b/result.csv @@ -1,600 +1,600 @@ -11.789961,9.058710 -3.397207,8.878997 -13.824786,10.049988 -2.490650,8.778272 -10.383979,9.855004 -8.301966,10.753178 -13.441923,10.143740 -7.387157,10.260063 -13.665678,9.745893 -6.066839,9.445610 -6.547803,10.177761 -7.710392,9.461622 -17.395079,10.274622 -14.264477,10.915087 -13.391297,11.720836 -7.008418,8.624819 -15.870872,8.574166 -11.838632,11.144285 -8.917096,9.965794 -10.662126,8.110075 -8.818790,8.568539 -8.657025,10.942290 -9.708747,11.091774 -11.793942,11.731910 -8.278754,10.847697 -10.924596,10.903716 -12.052115,11.061732 -10.520101,7.776092 -11.022302,10.555764 -12.094614,9.517485 -10.520509,9.498395 -9.528659,10.346521 -8.829240,9.992253 -11.909229,10.940206 -7.830692,11.234724 -13.589996,11.171887 -7.830129,11.043663 -14.483107,10.669317 -7.322455,9.790440 -10.275402,10.163887 -8.872764,10.125524 -12.117029,9.091783 -11.590805,10.849986 -12.627139,9.373658 -12.303258,10.128263 -8.610060,11.727913 -15.700193,11.248240 -7.609079,9.474766 -4.319214,12.064853 -9.256918,10.254729 -10.462547,9.848668 -11.057184,11.129715 -10.443236,11.065971 -8.171746,12.693904 -5.604085,10.455007 -13.238765,10.311396 -8.627720,9.369535 -7.398287,12.709128 -3.713589,9.936471 -12.143448,8.868683 -2.899254,8.968123 -4.232153,9.206888 -4.982192,10.085519 -10.156313,10.238452 -12.400601,9.197742 -16.330986,9.396751 -6.538636,9.073575 -4.666338,10.054187 -15.330033,9.169722 -9.931478,9.492916 -8.521922,10.185709 -12.213946,9.858205 -9.323122,10.780876 -4.868098,10.745613 -7.581363,10.445316 -14.149528,10.408160 -9.078564,10.601247 -6.741151,10.735630 -8.431384,9.413599 -7.008846,12.436615 -13.015191,10.037098 -5.263136,10.917837 -1.659327,10.067252 -4.701543,7.921669 -5.966248,10.543178 -9.840871,9.848879 -8.345638,11.334000 -10.801736,10.677657 -6.442389,9.894495 -5.047816,10.154286 -9.286685,9.994443 -11.920584,10.770254 -10.951216,9.091047 -3.176521,9.827112 -12.375359,8.872398 -0.530509,9.611804 -0.416021,11.349103 -0.859786,12.023749 --1.554771,9.895557 --3.099232,5.761290 --9.178216,9.770318 --2.510536,4.158946 -0.169499,9.582941 --4.919813,9.695279 --1.463380,4.598286 --2.497594,8.681510 --4.723874,8.422523 --0.394219,8.422792 --7.226931,8.179777 --4.500376,7.775124 --2.363326,3.556618 --1.964849,3.457799 --0.476519,11.108535 --4.558486,8.850022 --1.501535,10.341092 --4.308979,6.188363 --2.728712,7.463011 --2.481033,6.652577 --3.145593,7.298268 --2.910634,9.052843 --2.967306,5.424559 --6.278453,9.080688 --2.770949,4.307588 --2.772399,12.910869 --4.807733,6.967582 --4.727985,11.855630 --8.429072,9.010930 --1.790875,10.212855 --3.773960,7.376650 --4.880540,9.674287 --3.585351,6.025407 --1.803683,2.326367 --3.701939,4.622545 --4.324572,7.981484 --3.473562,7.435803 --3.923088,8.242589 --5.294247,8.336277 --3.815822,7.802086 --2.861306,7.838777 --4.449233,10.120604 --2.569117,5.841078 --4.045754,11.308848 --5.142735,9.996394 --6.425602,7.977973 --1.680582,5.757283 --2.760741,5.960095 --3.570387,4.020191 --4.345639,9.392385 --4.747871,11.171035 --1.421282,2.542121 --7.156953,10.570388 --2.114951,4.529697 --1.075428,4.970554 --3.399360,8.092742 --2.521521,8.947561 --3.348357,6.791269 --3.024337,8.421957 --0.158154,8.735985 --3.957053,5.440831 --2.200994,6.284627 --4.530154,7.376993 --1.873742,3.642755 --2.474782,8.283560 --1.700114,8.063466 --4.264462,6.640628 --2.281212,9.376068 --3.498380,5.214232 --2.696536,10.104513 --3.582108,7.169159 --2.834215,9.985890 --4.943548,7.461297 --1.944680,6.206763 --1.881269,6.463982 --5.601965,7.848681 --3.981477,7.674633 --4.169242,10.301457 --2.261849,4.576086 --2.666824,6.664230 --5.242203,9.542542 --2.649364,4.683296 --3.241146,4.628414 --1.854137,4.887939 --3.701946,10.189432 --4.470955,6.747838 --3.374813,7.719133 --3.597825,8.279852 --4.112061,8.357033 --3.424694,4.154064 --2.887388,9.979227 --5.192687,8.408082 --4.777458,11.056540 -19.484729,8.595488 -3.776425,0.185316 -4.212345,2.447430 -3.520069,3.292241 -4.427151,1.281072 -6.367878,0.922916 -4.481573,3.703085 -6.066897,3.540780 -9.304176,3.559362 -4.098058,2.753862 -4.872290,4.226040 -6.270248,1.207200 -6.335481,2.831138 -8.096127,2.893977 -4.009247,2.762589 -4.928107,2.267911 -7.523098,2.411514 -4.705845,0.488214 -5.387241,4.198475 -6.715845,1.997590 -5.122502,1.573626 -6.431999,5.074344 -5.653172,4.611750 -7.563829,3.931598 -1.944162,0.613718 -8.148520,0.518259 -4.358828,0.034976 -3.641530,1.494354 -2.364450,2.541145 -4.459331,2.911958 -4.952678,3.429712 -2.638455,2.782979 -6.156880,2.262757 -3.821588,1.483048 -5.805029,2.834496 -4.277190,3.575329 -6.278331,4.015466 -6.004652,2.240271 -7.464921,4.382821 -6.244031,1.512163 -6.045428,1.986791 -4.242530,1.259197 -5.308608,3.562067 -4.058379,5.301967 -3.613485,3.686181 -8.081013,1.154628 -5.889114,2.925821 -5.695270,6.138743 -5.645257,4.182493 -8.101148,4.585947 -5.174682,1.986300 -3.570952,2.179587 -4.958713,6.596363 -2.818814,2.185964 -6.315718,2.473355 -5.131412,0.916429 -2.938369,2.651784 -3.812231,1.833728 -5.722683,2.602635 -4.604779,1.450356 -4.131254,3.111774 -5.963201,4.502360 -3.297088,6.332201 -5.369479,0.412898 -4.227133,3.428882 -4.473667,4.612641 -3.475003,3.676096 -2.576789,1.803719 -4.749425,2.481082 -3.570757,0.958798 -4.650463,2.521656 -6.438377,2.441644 -4.320196,1.244823 -2.095609,3.933455 -6.025900,0.227548 -5.889045,2.386850 -2.754468,1.260234 -4.485026,5.561349 -4.026846,3.828581 -5.552546,4.837076 -4.431093,4.794658 -5.277466,4.195884 -6.084460,4.730740 -2.635133,1.929120 -4.037834,0.901181 -5.636753,2.704127 -1.677812,1.661764 -6.015990,1.612317 -5.646366,4.285365 -9.756256,3.281237 -6.257584,3.256899 -7.161181,3.331239 -4.995776,2.632617 -4.924333,2.925669 -4.659131,2.360263 -5.388047,4.394249 -7.349488,3.389437 -4.756042,4.704429 -7.827124,3.418832 -2.597517,2.991376 -7.310208,3.794046 -3.759401,0.661543 -5.208958,5.403307 -4.492538,1.976286 -5.496442,4.889210 -3.397913,5.033278 -3.074271,3.757359 -3.365178,5.075887 -4.783512,3.930568 -6.870890,2.186943 -5.483467,5.400523 -3.277649,4.437784 -2.760963,1.227816 -5.020529,4.934094 -5.000576,0.924264 -5.216725,0.365793 -5.541727,4.425344 -2.641995,2.828992 -4.343709,3.320598 -3.444122,2.596018 -0.832868,2.133754 -3.605269,2.987906 -3.074018,3.770906 -6.336073,4.273693 -7.409363,1.422392 -6.053997,3.113763 -5.020697,4.189405 -6.472746,0.569006 -3.861760,2.189804 --0.053132,0.824629 -4.010659,2.025765 -4.214962,3.507154 -3.849184,2.844035 -2.954201,4.120374 -4.478416,2.979571 -5.264961,3.647799 -8.692753,1.845045 -4.695241,2.777767 -6.284523,2.318133 -5.228626,2.635194 -7.939738,3.845422 -4.799520,5.225392 -6.424444,3.739462 -6.893432,3.861726 -6.244103,2.853682 -4.565913,3.435257 -6.822255,4.592236 -7.017802,2.176672 -3.528705,2.346753 -5.838190,-0.553918 -4.428744,1.517803 -4.385886,1.736686 -3.840710,4.399343 -5.822687,2.395396 -8.525133,1.885261 -4.534746,0.731156 -7.702672,1.496017 -3.716051,4.690786 -1.697776,1.027655 -6.868320,5.205684 -6.080652,0.056039 -5.261357,4.303277 -6.682098,1.016357 -4.254330,4.776544 -1.130059,2.001442 -4.155475,2.557102 -5.746992,6.716813 -4.247543,1.107626 -4.239350,1.783039 -5.382972,3.245818 -10.651433,3.802892 -1.211607,2.831469 -6.845028,5.008805 -5.130638,3.125893 -6.314818,0.536143 -5.937769,4.594028 -0.396144,1.358387 -6.898239,3.312579 -3.889559,2.921016 -6.535800,5.414407 -3.834862,3.656274 -4.325914,3.049661 -2.344754,4.646861 -2.254753,3.353503 -1.727326,4.048883 -2.741089,3.173033 -6.348796,5.190035 -6.223260,1.552410 -0.128544,4.110928 -3.806198,3.715938 -5.095737,5.357553 -1.049516,2.797483 -7.048253,1.484292 -4.439356,2.777315 --1.302869,-0.045967 --2.108863,1.250969 -0.898671,2.440658 --0.979270,0.819755 --0.724406,0.866737 -4.231360,-0.745947 -2.365207,-0.502468 -2.631881,-0.978263 -1.351423,-0.186557 -3.607944,-1.940366 --0.194295,-1.571938 -4.862857,-2.339116 -4.712204,-2.276549 -3.087879,-2.089628 -1.604947,-1.381385 -4.006921,-1.310967 -3.344397,-1.885010 -3.142641,-1.607314 -4.403006,-1.974153 -5.072862,-1.407839 -1.046870,-2.374247 -4.109573,-2.201516 -3.210036,-2.718526 -2.267564,-1.775535 -1.030868,-2.146539 -2.281382,-2.786002 -3.374309,-1.635792 -3.768947,-2.412564 -3.207626,-2.179783 -0.185961,-1.850092 -1.562433,-2.030319 -5.330045,-2.900415 -5.297696,-2.105816 -5.462788,-3.087209 -6.208447,-2.649498 -2.560402,-1.882628 -4.722174,-1.567197 -1.602786,-2.663676 -1.683475,-2.529383 -3.262853,-2.608840 -2.899752,-2.701207 -2.944457,-2.190383 -3.786907,-2.153931 -2.026667,-1.648592 -0.360260,-1.808027 -4.744389,-2.007064 -3.846756,-1.999079 -4.190556,-2.207157 -5.478501,-1.080392 -5.351431,-2.770707 -1.013275,-1.498582 -0.581294,-2.549517 -2.418196,-2.161460 -2.735407,-2.151387 -4.525235,-2.563941 -2.044065,-1.898695 -4.564207,-2.258620 -1.133932,-2.341973 -3.509288,-2.378627 -2.063225,-2.361892 -2.993263,-2.224800 -3.122374,-1.364519 -0.943048,-1.821148 --0.110429,-2.466306 -5.553011,-1.944080 -8.557599,-0.643828 -8.312615,0.068978 -6.599626,-2.158893 -9.461841,-1.326201 -9.147211,-1.844298 -8.206190,-0.625814 -9.779509,-1.201777 -7.063921,-1.554202 -9.134573,-1.906594 -10.541195,-1.825623 -9.666339,-1.574354 -6.336825,-2.231955 -8.386651,-1.581726 -10.487382,-2.195169 -8.480485,-1.253960 -8.248748,-1.993152 -11.108400,-2.643620 -9.509531,-1.717139 -7.980862,-1.898827 -7.923465,-1.625289 -9.560197,-2.490312 -6.771847,-2.090341 -9.840212,-2.641487 -8.594800,-2.629850 -8.951841,-1.674996 -8.039193,-1.137536 -7.988408,-2.601733 -10.470961,-3.203240 -8.423952,-2.045675 -10.561891,-2.105645 -9.897145,-2.110182 -6.442281,-2.199811 -11.160633,-1.980163 -9.566862,-1.935990 -8.414032,-1.395995 -8.452864,-1.764746 -9.110737,-1.851310 -6.639898,-2.442907 -7.612433,-2.037032 -9.188845,-1.458457 -10.570758,-1.941245 -7.820089,-2.160372 -8.221482,-2.168465 -9.056608,-1.975736 -6.691955,-1.973840 -8.069054,-1.855851 -7.462837,-3.013561 -9.539722,-1.663349 -6.837171,-2.347977 -13.849092,-2.279842 -16.136779,-1.924255 -13.255160,-1.946864 -12.277633,-2.439603 -14.087461,-1.341894 -11.826480,-1.945322 -13.659839,-1.651214 -12.634945,-1.913811 -13.772141,-1.742339 -13.005054,-1.500132 -15.477309,-2.614474 -13.648835,-2.047366 -16.313811,-1.595957 -16.458612,-1.918961 -12.651588,-2.531920 -12.921351,-2.269704 -11.754908,-2.617244 -13.348062,-2.546382 -14.085017,-1.384257 -12.296642,-1.808806 -13.157475,-1.783530 -13.685740,-2.382830 -13.133033,-0.889237 -15.323915,-1.927883 -13.914180,-1.751803 -13.185482,-2.698844 -12.107382,-2.113193 -15.202040,-1.928013 -11.988281,-2.524278 -14.510218,-1.387415 -13.620451,-2.568557 -13.869823,-2.340137 -16.602733,-2.064709 -16.786139,-2.416062 -12.123972,-1.698991 --3.813231,-1.773040 --2.404732,-1.375410 --2.512465,-1.651208 --2.278897,-1.876046 --5.555601,-1.960370 --3.705928,-2.558309 --2.596128,-1.707613 --1.492130,-2.539217 --2.548644,-1.301269 --2.731148,-0.118524 --1.853398,0.108587 -20.408547,-2.684683 -20.173925,-2.359599 --5.725150,4.005214 --5.570206,5.162310 --7.801689,5.720855 --5.185242,3.181713 --4.800114,3.440329 --5.883924,1.782655 --5.731409,4.130645 --3.425825,1.915506 --8.571037,7.759829 --6.739874,6.563180 --6.904199,7.194544 --5.922390,4.995666 --6.248050,5.989345 --3.935429,4.807173 --6.699175,4.864738 --4.025196,4.563292 --6.036712,-0.432394 --6.891338,1.208053 --3.758609,1.883274 --5.137576,4.505496 --4.411319,5.279116 --6.771853,1.139706 --7.182203,5.442276 --5.960855,3.873455 --4.399071,3.323538 --4.861711,5.715822 --5.634838,4.171841 --6.414234,5.054699 --5.317115,4.185812 --7.094217,5.308257 --5.505358,5.631649 --6.260009,5.748397 --9.066833,1.655388 --6.333833,2.642014 --5.698356,6.326707 --6.185854,6.377677 --6.393447,7.271492 --5.550047,5.944996 --6.606773,5.891867 --4.016148,1.292409 --4.903520,5.079796 --5.929848,5.736356 --4.305254,3.703032 --4.674579,2.220516 --5.569697,4.430809 --5.356465,4.657844 --5.146081,2.604932 --6.215808,3.430549 --7.494528,5.430819 --4.217011,0.432768 --5.625574,3.721640 --8.360202,-2.638418 --4.492276,16.248776 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +4.849247,2.125245 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923 +-3.688581,6.016922 +-3.688581,6.016922 +-3.688581,6.016923 +-3.688581,6.016923