Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BentleyOttmann fails for complex shapes. #1

Open
ideasman42 opened this issue Aug 2, 2015 · 3 comments
Open

BentleyOttmann fails for complex shapes. #1

ideasman42 opened this issue Aug 2, 2015 · 3 comments
Assignees

Comments

@ideasman42
Copy link

I was looking into this code and found that quite common tests fail.
isect_lines_error

Note that there is no degenerate cases in this example (zero length or overlapping co-linear segments...).

There are 249 intersections, I checked with CGAL and it detects them correctly.


To redo the error, replace,
src/test/compgeom/algorithms/TestBentleyOttmann.java, test_2 string data with this:

String data = "4.971058 0.067629 4.848638 0.235308 4.848638 0.235308 4.785283 0.309334 4.785283 0.309334 4.708177 0.366462 4.708177 0.366462 4.619439 0.416200 4.619439 0.416200 4.538092 0.454307 4.538092 0.454307 4.462012 0.471274 4.462012 0.471274 4.386959 0.445786 4.386959 0.445786 4.344691 0.413761 4.344691 0.413761 4.294727 0.365851 4.294727 0.365851 4.252459 0.330386 4.252459 0.330386 4.186189 0.292250 4.186189 0.292250 4.115631 0.256545 4.115631 0.256545 4.004892 0.209640 4.004892 0.209640 3.893297 0.173471 3.893297 0.173471 3.752550 0.149715 3.752550 0.149715 3.617342 0.130550 3.617342 0.130550 3.475720 0.122202 3.475720 0.122202 3.338338 0.132873 3.338338 0.132873 3.193568 0.155176 3.193568 0.155176 3.053040 0.196498 3.053040 0.196498 2.899854 0.270592 2.899854 0.270592 2.759393 0.401746 2.759393 0.401746 2.591496 0.588932 2.591496 0.588932 2.425788 0.875460 2.425788 0.875460 2.311872 1.170403 2.311872 1.170403 2.243384 1.445233 2.243384 1.445233 2.187553 1.687291 2.187553 1.687291 2.205681 1.902872 2.205681 1.902872 2.238588 2.095192 2.238588 2.095192 2.295783 2.262130 2.295783 2.262130 2.392044 2.380423 2.392044 2.380423 2.508352 2.454315 2.508352 2.454315 2.618297 2.499676 2.618297 2.499676 2.750410 2.510145 2.750410 2.510145 2.868771 2.503715 2.868771 2.503715 3.011420 2.471903 3.011420 2.471903 3.138197 2.413681 3.138197 2.413681 3.258611 2.326930 3.258611 2.326930 3.374784 2.221159 3.374784 2.221159 3.472963 2.079469 3.472963 2.079469 3.533103 1.946262 3.533103 1.946262 3.575250 1.777136 3.575250 1.777136 3.579356 1.616493 3.579356 1.616493 3.564443 1.460092 3.564443 1.460092 3.558012 1.341732 3.558012 1.341732 3.544194 1.235001 3.544194 1.235001 3.532495 1.137781 3.532495 1.137781 3.502804 1.004641 3.502804 1.004641 3.468871 0.852482 3.468871 0.852482 3.430695 0.681303 3.430695 0.681303 3.384037 0.472084 3.384037 0.472084 3.329990 0.274496 3.329990 0.274496 3.307284 0.093881 3.307284 0.093881 3.301191 -0.078466 3.301191 -0.078466 3.311033 -0.234687 3.311033 -0.234687 3.335881 -0.325793 3.335881 -0.325793 3.382336 -0.386068 3.382336 -0.386068 3.444664 -0.419933 3.444664 -0.419933 3.506992 -0.453799 3.506992 -0.453799 3.602092 -0.475007 3.602092 -0.475007 3.689802 -0.484585 3.689802 -0.484585 3.760613 -0.480411 3.760613 -0.480411 3.871584 -0.462821 3.871584 -0.462821 4.039684 -0.392903 4.039684 -0.392903 4.295561 -0.230342 4.295561 -0.230342 4.543023 -0.015990 4.543023 -0.015990 4.728088 0.142397 4.728088 0.142397 4.863148 0.255830 4.863148 0.255830 4.915276 0.310294 4.915276 0.310294 4.951262 0.382131 4.951262 0.382131 4.972469 0.477231 4.972469 0.477231 4.975753 0.626242 4.975753 0.626242 4.888184 0.812140 4.888184 0.812140 4.894928 1.062630 4.894928 1.062630 4.949581 1.294616 4.949581 1.294616 4.923703 1.508387 4.923703 1.508387 4.873905 1.631120 4.873905 1.631120 4.808531 1.711742 4.808531 1.711742 4.745176 1.785768 4.745176 1.785768 4.632151 1.860888 4.632151 1.860888 4.507495 1.928620 4.507495 1.928620 4.382838 1.996351 4.382838 1.996351 4.253941 2.045063 4.253941 2.045063 4.090152 2.071606 4.090152 2.071606 3.909462 2.111902 3.909462 2.111902 3.705512 2.137420 3.705512 2.137420 3.476178 2.138649 3.476178 2.138649 3.240483 2.111348 3.240483 2.111348 3.007935 2.053397 3.007935 2.053397 2.799675 1.970064 2.799675 1.970064 2.577663 1.869831 2.577663 1.869831 2.386303 1.772745 2.386303 1.772745 2.185432 1.677782 2.185432 1.677782 1.866133 1.499415 1.866133 1.499415 1.733953 1.399115 1.733953 1.399115 1.647201 1.278700 1.647201 1.278700 1.581591 1.163554 1.581591 1.163554 1.513860 1.038898 1.513860 1.038898 1.444007 0.904733 1.444007 0.904733 1.393175 0.766325 1.393175 0.766325 1.344463 0.637427 1.344463 0.637427 1.298900 0.477879 1.298900 0.477879 1.253335 0.318331 1.253335 0.318331 1.209892 0.168292 1.209892 0.168292 1.173838 0.006623 1.173838 0.006623 1.139466 -0.127054 1.139466 -0.127054 1.103919 -0.217374 1.103919 -0.217374 1.053056 -0.277840 1.053056 -0.277840 0.982684 -0.312923 0.982684 -0.312923 0.870276 -0.324996 0.870276 -0.324996 0.719144 -0.331224 0.719144 -0.331224 0.524703 -0.307827 0.524703 -0.307827 0.303853 -0.268558 0.303853 -0.268558 0.077735 -0.208148 0.077735 -0.208148 -0.137779 -0.100189 -0.137779 -0.100189 -0.325789 0.041569 -0.325789 0.041569 -0.481028 0.195984 -0.481028 0.195984 -0.606643 0.393707 -0.606643 0.393707 -0.701608 0.594578 -0.701608 0.594578 -0.747929 0.834515 -0.747929 0.834515 -0.775229 1.070211 -0.775229 1.070211 -0.777147 1.330194 -0.777147 1.330194 -0.755804 1.604956 -0.755804 1.604956 -0.698542 1.861725 -0.698542 1.861725 -0.648669 2.130125 -0.648669 2.130125 -0.557540 2.449221 -0.557540 2.449221 -0.426252 2.769345 -0.426252 2.769345 -0.259044 3.071475 -0.259044 3.071475 -0.083421 3.321813 -0.083421 3.321813 0.096377 3.501341 0.096377 3.501341 0.294100 3.626956 0.294100 3.626956 0.485460 3.724041 0.485460 3.724041 0.701109 3.795744 0.701109 3.795744 0.889255 3.833650 0.889255 3.833650 1.105931 3.865191 1.105931 3.865191 1.299345 3.881955 1.299345 3.881955 1.500148 3.887088 1.500148 3.887088 1.652307 3.853155 1.652307 3.853155 1.816097 3.826610 1.816097 3.826610 1.925975 3.782142 1.925975 3.782142 2.039000 3.707021 2.039000 3.707021 2.154147 3.641411 2.154147 3.641411 2.243910 3.551512 2.243910 3.551512 2.345304 3.469002 2.345304 3.469002 2.421317 3.362204 2.421317 3.362204 2.470920 3.271279 2.470920 3.271279 2.506771 3.163454 2.506771 3.163454 2.538381 3.036609 2.538381 3.036609 2.565749 2.890745 2.565749 2.890745 2.617405 2.719499 2.617405 2.719499 2.678572 2.546132 2.678572 2.546132 2.730228 2.374884 2.730228 2.374884 2.764985 2.217390 2.764985 2.217390 2.793380 2.031365 2.793380 2.031365 2.821775 1.845340 2.821775 1.845340 2.840660 1.661436 2.840660 1.661436 2.850035 1.479653 2.850035 1.479653 2.858383 1.338030 2.858383 1.338030 2.845591 1.191139 2.845591 1.191139 2.813778 1.048490 2.813778 1.048490 2.803106 0.911109 2.803106 0.911109 2.755422 0.742051 2.755422 0.742051 2.696106 0.565603 2.696106 0.565603 2.592388 0.369109 2.592388 0.369109 2.474918 0.155716 2.474918 0.155716 2.343698 -0.074576 2.343698 -0.074576 2.174437 -0.296385 2.174437 -0.296385 2.007297 -0.508684 2.007297 -0.508684 1.815868 -0.695601 1.815868 -0.695601 1.626561 -0.873007 1.626561 -0.873007 1.415086 -1.015521 1.415086 -1.015521 1.228993 -1.133747 1.228993 -1.133747 1.047143 -1.232953 1.047143 -1.232953 0.860024 -1.311019 0.860024 -1.311019 0.663395 -1.386963 0.663395 -1.386963 0.468886 -1.453398 0.468886 -1.453398 0.231070 -1.490208 0.231070 -1.490208 -0.002505 -1.507999 -0.002505 -1.507999 -0.281508 -1.505676 -0.281508 -1.505676 -0.563659 -1.472702 -0.563659 -1.472702 -0.851079 -1.418587 -0.851079 -1.418587 -1.117358 -1.359204 -1.117358 -1.359204 -1.386784 -1.269170 -1.386784 -1.269170 -1.609686 -1.149580 -1.609686 -1.149580 -0.953335 0.202148 -0.953335 0.202148 -2.023680 -0.767750 -2.023680 -0.767750 -2.171463 -0.535134 -2.171463 -0.535134 -2.279084 -0.301492 -2.279084 -0.301492 -2.365566 -0.062581 -2.365566 -0.062581 -2.430906 0.181597 -2.430906 0.181597 -2.475106 0.431044 -2.475106 0.431044 -2.496045 0.695270 -2.496045 0.695270 -2.512741 0.978515 -2.512741 0.978515 -2.496666 1.274418 -2.496666 1.274418 -2.455208 1.594609 -2.455208 1.594609 -2.402120 1.922188 -2.402120 1.922188 -2.326864 2.214876 -2.326864 2.214876 -2.238952 2.474793 -2.238952 2.474793 -2.118268 2.747366 -2.118268 2.747366 -1.966932 3.023088 -1.966932 3.023088 -1.820933 3.230118 -1.820933 3.230118 -1.691900 3.361069 -1.691900 3.361069 -1.572377 3.494141 -1.572377 3.494141 -1.447586 3.606072 -1.447586 3.606072 -0.636297 2.510920 -0.636297 2.510920 -1.146280 3.748518 -1.146280 3.748518 -0.994053 3.804417 -0.994053 3.804417 -0.806934 3.882482 -0.806934 3.882482 -0.584923 3.982715 -0.584923 3.982715 -0.384052 4.077680 -0.384052 4.077680 -0.199053 4.146235 -0.199053 4.146235 0.002844 4.201039 0.002844 4.201039 0.221640 4.242092 0.221640 4.242092 0.478477 4.274660 0.478477 4.274660 0.737433 4.316739 0.737433 4.316739 1.017531 4.364086 1.017531 4.364086 1.277515 4.366004 1.277515 4.366004 1.495217 4.357385 1.495217 4.357385 1.661128 4.340352 1.661128 4.340352 1.895000 3.413588 1.895000 3.413588 1.963326 4.262975 1.963326 4.262975 2.087982 4.195243 2.087982 4.195243 2.205249 4.139143 2.205249 4.139143 2.306643 4.056633 2.306643 4.056633 2.427058 3.969882 2.427058 3.969882 2.541110 3.854600 2.541110 3.854600 2.687933 3.751976 2.687933 3.751976 2.780844 3.631428 2.780844 3.631428 2.894896 3.516146 2.894896 3.516146 2.995196 3.383966 2.995196 3.383966 3.097617 3.261296 3.097617 3.261296 3.195796 3.119606 3.195796 3.119606 3.293976 2.977916 3.293976 2.977916 3.377377 2.859487 3.377377 2.859487 3.435396 2.716770 3.435396 2.716770 3.499777 2.602583 3.499777 2.602583 3.550407 2.471498 3.550407 2.471498 3.596796 2.321391 3.596796 2.321391 3.637915 2.192426 3.637915 2.192426 3.686424 2.051830 3.686424 2.051830 3.723302 1.903845 3.723302 1.903845 3.752791 1.767491 3.752791 1.767491 3.784401 1.640646 3.784401 1.640646 3.837152 1.519070 3.837152 1.519070 3.870882 1.401736 3.870882 1.401736 3.887714 1.298154 3.887714 1.298154 3.917203 1.161799 3.917203 1.161799 3.939303 1.037075 3.939303 1.037075 3.961402 0.912351 3.961402 0.912351 3.977140 0.759098 3.977140 0.759098 4.004508 0.613234 4.004508 0.613234 4.018125 0.450470 4.018125 0.450470 4.026045 0.293695 4.026045 0.293695 4.042210 0.155594 4.042210 0.155594 4.048437 0.004462 4.048437 0.004462 4.037766 -0.132919 4.037766 -0.132919 4.039752 -0.303071 4.039752 -0.303071 4.022717 -0.468982 4.022717 -0.468982 4.003562 -0.644403 4.003562 -0.644403 3.991796 -0.831455 3.991796 -0.831455 3.964158 -1.044915 3.964158 -1.044915 3.915379 -1.263644 3.915379 -1.263644 3.869748 -1.513024 3.869748 -1.513024 3.805096 -1.758161 3.805096 -1.758161 3.728814 -2.010689 3.728814 -2.010689 3.631391 -2.268484 3.631391 -2.268484 3.520216 -2.543179 3.520216 -2.543179 3.403774 -2.796731 3.403774 -2.796731 3.288425 -3.000615 3.288425 -3.000615 -3.487254 3.089953 -3.487254 3.089953 2.881213 -3.438897 2.881213 -3.438897 2.721529 -3.572995 2.721529 -3.572995 2.558699 -3.676443 2.558699 -3.676443 2.388479 -3.768260 2.388479 -3.768260 2.170709 -3.849473 2.170709 -3.849473 1.945550 -3.919055 1.945550 -3.919055 1.672842 -3.978033 1.672842 -3.978033 1.375844 -4.011629 1.375844 -4.011629 1.031298 -4.034620 1.031298 -4.034620 0.683604 -4.026961 0.683604 -4.026961 0.347540 -4.011912 0.347540 -4.011912 -0.111805 -3.965800 -0.111805 -3.965800 -0.601749 -3.883645 -0.601749 -3.883645 -1.072658 -3.755090 -1.072658 -3.755090 -1.397022 -3.642822 -1.397022 -3.642822 -3.703934 -7.071153 -3.703934 -7.071153 -1.975968 -3.373949 -1.975968 -3.373949 -2.224186 -3.188816 -2.224186 -3.188816 -2.441753 -3.000535 -2.441753 -3.000535 -2.641326 -2.776335 -2.641326 -2.776335 -2.807035 -2.489807 -2.807035 -2.489807 -2.953657 -2.117690 -2.953657 -2.117690 -3.061143 -1.704386 -3.061143 -1.704386 -3.166509 -1.281571 -3.166509 -1.281571 -3.225419 -0.919031 -3.225419 -0.919031 -3.271672 -0.589263 -3.271672 -0.589263 -3.298906 -0.263736 -3.298906 -0.263736 -3.283858 0.072327 -3.283858 0.072327 -3.255058 0.425290 -3.255058 0.425290 -3.202996 0.793031 -3.202996 0.793031 -3.137250 1.087839 -3.137250 1.087839 -3.072599 1.332977 -3.072599 1.332977 -2.948767 1.574900 -2.948767 1.574900 -2.796405 1.810461 -2.796405 1.810461 -2.578500 2.071335 -2.578500 2.071335 -2.298200 2.388176 -2.298200 2.388176 -2.022141 2.685997 -2.022141 2.685997 -1.828592 2.882424 -1.828592 2.882424 -1.675270 2.987993 -1.675270 2.987993 -1.536796 3.026991 -1.536796 3.026991 -1.376153 3.031098 -1.376153 3.031098 -1.177470 3.026721 -1.177470 3.026721 -1.023190 3.002298 -1.023190 3.002298 -0.885810 2.991626 -0.885810 2.991626 -0.747402 2.940794 -0.747402 2.940794 -0.618504 2.892083 -0.618504 2.892083 -0.474828 2.820110 -0.474828 2.820110 -0.344904 2.731238 -0.344904 2.731238 -0.188570 2.626493 -0.188570 2.626493 2.269592 5.854332 2.269592 5.854332 0.405977 2.024705 0.405977 2.024705 0.554854 1.841760 0.554854 1.841760 0.695247 1.620775 0.695247 1.620775 0.828251 1.411421 0.828251 1.411421 0.949625 1.194678 0.949625 1.194678 1.047737 0.963157 1.047737 0.963157 1.143728 0.722125 1.143728 0.722125 1.203800 0.499087 1.203800 0.499087 1.261751 0.266539 1.261751 0.266539 1.346112 0.018119 1.346112 0.018119 1.426230 -0.249322 1.426230 -0.249322 1.479940 -0.500890 1.479940 -0.500890 1.524140 -0.750337 1.524140 -0.750337 1.577849 -1.001905 1.577849 -1.001905 1.622049 -1.251352 1.622049 -1.251352 1.659886 -1.529329 1.659886 -1.529329 1.693482 -1.826326 1.693482 -1.826326 1.702789 -2.097940 1.702789 -2.097940 1.704708 -2.357924 1.704708 -2.357924 1.699237 -2.606277 1.699237 -2.606277 1.688498 -2.833489 1.688498 -2.833489 1.660859 -3.046950 1.660859 -3.046950 1.614201 -3.256168 1.614201 -3.256168 1.579174 -3.457998 1.579174 -3.457998 1.529368 -3.636567 1.529368 -3.636567 1.472173 -3.803504 1.472173 -3.803504 1.404442 -3.928160 1.404442 -3.928160 1.348243 -4.032273 1.348243 -4.032273 1.246812 -4.142580 1.246812 -4.142580 1.122021 -4.254511 1.122021 -4.254511 0.995109 -4.375951 0.995109 -4.375951 0.830157 -4.488909 0.830157 -4.488909 0.726965 -4.549300 0.726965 -4.549300 0.595649 -4.622678 0.595649 -4.622678 -5.344527 1.570664 -5.344527 1.570664 0.011896 -4.845506 0.011896 -4.845506 -0.251303 -4.906605 -0.251303 -4.906605 -0.731177 -4.999246 -0.731177 -4.999246 -0.993282 -5.010674 -0.993282 -5.010674 -1.234245 -5.016834 -1.234245 -5.016834 -1.468847 -4.994465 -1.468847 -4.994465 -1.699206 -4.953074 -1.699206 -4.953074 -1.908426 -4.906415 -1.908426 -4.906415 -2.134543 -4.846006 -2.134543 -4.846006 -2.359567 -4.735925 -2.359567 -4.735925 -2.599370 -4.602584 -2.599370 -4.602584 -2.838078 -4.419571 -2.838078 -4.419571 -3.074665 -4.227048 -3.074665 -4.227048 -3.261581 -4.035621 -3.261581 -4.035621 -3.422089 -3.860065 -3.422089 -3.860065 -3.580475 -3.674999 -3.580475 -3.674999 -3.751519 -3.457161 -3.751519 -3.457161 -3.877067 -3.169607 -3.877067 -3.169607 -3.993037 -2.794342 -3.993037 -2.794342 -4.079384 -2.375769 -4.079384 -2.375769 -4.116058 -1.958290 -4.116058 -1.958290 -4.132688 -1.585214 -4.132688 -1.585214 -4.118667 -1.208990 -4.118667 -1.208990 -4.084598 -0.877169 -4.084598 -0.877169 -4.046288 -0.526327 -4.046288 -0.526327 -3.964670 -0.205110 -3.964670 -0.205110 -3.901045 0.080189 -3.901045 0.080189 -3.805743 0.328475 -3.805743 0.328475 -3.679790 0.579907 -3.679790 0.579907 -3.516824 0.863018 -3.516824 0.863018 -3.005500 1.141864 -3.005500 1.141864 -3.177141 1.446137 -3.177141 1.446137 -3.067128 1.581330 -3.067128 1.581330 -2.994128 1.684845 -2.994128 1.684845 -2.931732 1.740810 -2.931732 1.740810 -2.815424 1.814702 -2.815424 1.814702 -2.656836 1.899130 -2.656836 1.899130 -2.498246 1.983558 -2.498246 1.983558 -2.346020 2.039456 -2.346020 2.039456 -2.211786 2.059435 -2.211786 2.059435 -2.084942 2.091044 -2.084942 2.091044 -1.947561 2.080372 -1.947561 2.080372 -1.798549 2.077090 -1.798549 2.077090 -1.665410 2.047399 -1.665410 2.047399 -1.541780 2.019828 -1.541780 2.019828 -1.415003 1.961606 -1.415003 1.961606 -1.299857 1.895996 -1.299857 1.895996 0.491577 2.659827 0.491577 2.659827 -1.024136 1.744661 -1.024136 1.744661 -0.881554 1.623017 -0.881554 1.623017 -0.727342 1.508763 -0.727342 1.508763 -0.577371 1.375488 -0.577371 1.375488 -0.403112 1.216831 -0.403112 1.216831 -0.252114 1.043397 -0.252114 1.043397 0.042492 0.708157 0.042492 0.708157 0.164959 0.541085 0.164959 0.541085 0.285306 0.364502 0.285306 0.364502 0.432062 0.172047 0.432062 0.172047 0.560825 -0.056327 0.560825 -0.056327 0.683225 -0.313230 0.683225 -0.313230 0.789752 -0.596543 0.789752 -0.596543 0.895254 -0.839695 0.895254 -0.839695 0.987003 -1.099746 0.987003 -1.099746 1.069242 -1.357677 1.069242 -1.357677 1.132462 -1.611366 1.132462 -1.611366 1.186172 -1.862934 1.186172 -1.862934 1.228251 -2.121891 1.228251 -2.121891 1.256578 -2.397747 1.256578 -2.397747 1.269033 -2.700012 1.269033 -2.700012 1.264589 -2.988526 1.264589 -2.988526 1.262265 -3.267529 1.262265 -3.267529 1.237774 -3.511641 1.237774 -3.511641 1.205894 -3.744121 1.205894 -3.744121 1.174015 -3.976602 1.174015 -3.976602 1.127357 -4.185820 1.127357 -4.185820 1.061678 -4.390797 1.061678 -4.390797 0.996000 -4.595775 0.996000 -4.595775 0.901793 -4.794390 0.901793 -4.794390 0.811826 -4.973985 0.811826 -4.973985 0.728222 -5.125049 0.728222 -5.125049 0.660491 -5.249705 0.660491 -5.249705 0.599122 -5.345832 0.599122 -5.345832 0.539874 -5.432447 0.539874 -5.432447 0.463727 -5.505312 0.463727 -5.505312 0.387580 -5.578176 0.387580 -5.578176 0.290292 -5.656310 0.290292 -5.656310 0.183494 -5.732323 0.183494 -5.732323 0.080938 -5.789314 0.080938 -5.789314 -0.029007 -5.834676 -0.029007 -5.834676 -0.148463 -5.877916 -0.148463 -5.877916 -0.275307 -5.909526 -0.275307 -5.909526 -0.451822 -5.940042 -0.451822 -5.940042 -0.675887 -5.959953 -0.675887 -5.959953 -0.914730 -5.956603 -0.914730 -5.956603 -1.172593 -5.949011 -1.172593 -5.949011 -1.481153 -5.900165 -1.481153 -5.900165 -1.775961 -5.834419 -1.775961 -5.834419 -2.085548 -5.745412 -2.085548 -5.745412 -2.403551 -5.604613 -2.403551 -5.604613 -2.698291 -5.449037 -2.698291 -5.449037 -2.977160 -5.267051 -2.977160 -5.267051 -3.232767 -5.070287 -3.232767 -5.070287 -3.478864 -4.875644 -3.478864 -4.875644 -3.701700 -4.666221 -3.701700 -4.666221 -3.909758 -4.480062 -3.909758 -4.480062 -4.085043 -4.281245 -4.085043 -4.281245 -4.232825 -4.048629 -4.232825 -4.048629 -4.375272 -3.747324 -4.375272 -3.747324 -4.482826 -3.423849 -4.482826 -3.423849 -4.559731 -3.097229 -4.559731 -3.097229 -4.650385 -2.787507 -4.650385 -2.787507 -4.717780 -2.463007 -4.717780 -2.463007 -4.754522 -2.135359 -4.754522 -2.135359 -4.766977 -1.833094 -4.766977 -1.833094 -4.749875 -1.577352 -4.749875 -1.577352 -4.701096 -1.358623 -4.701096 -1.358623 -4.663948 -1.147284 -4.663948 -1.147284 -4.580277 -0.906387 -4.580277 -0.906387 -4.442694 -0.647565 -4.442694 -0.647565 -4.290332 -0.412005 -4.290332 -0.412005 -4.120044 -0.230357 -4.120044 -0.230357 -3.961387 -0.056098 -3.961387 -0.056098 -3.790073 0.085390 -3.790073 0.085390 -3.648383 0.183569 -3.648383 0.183569 -3.555337 0.242682 -3.555337 0.242682 -3.480283 0.265877 -3.480283 0.265877 -3.399963 0.267930 -3.399963 0.267930 -3.331272 0.262594 -3.331272 0.262594 -3.226662 0.239265 -3.226662 0.239265 -3.072382 0.214841 -3.072382 0.214841 -2.896962 0.195686 -2.896962 0.195686 -2.737413 0.150123 -2.737413 0.150123 -2.554603 0.119337 -2.554603 0.119337 -2.368646 0.057900 -2.368646 0.057900 -2.163669 -0.007777 -2.163669 -0.007777 -1.986194 -0.107254 -1.986194 -0.107254 -1.825619 -0.192978 -1.825619 -0.192978 -1.653414 -0.271314 -1.653414 -0.271314 -1.494960 -0.366549 -1.494960 -0.366549 -1.331237 -0.482924 -1.331237 -0.482924 -1.179145 -0.606688 -1.179145 -0.606688 -1.038684 -0.737842 -1.038684 -0.737842 -0.888713 -0.871116 -0.888713 -0.871116 -0.762004 -1.019169 -0.762004 -1.019169 -0.675455 -1.168248 -0.675455 -1.168248 -0.579397 -1.319448 -0.579397 -1.319448 -0.518230 -1.492816 -0.518230 -1.492816 -0.442286 -1.689445 -0.442286 -1.689445 -0.387482 -1.891342 -0.387482 -1.891342 -0.332678 -2.093240 -0.332678 -2.093240 -0.296894 -2.290895 -0.296894 -2.290895 -0.278009 -2.474799 -0.278009 -2.474799 -0.251735 -2.670334 -0.251735 -2.670334 -0.246602 -2.871137 -0.246602 -2.871137 -0.253100 -3.079330 -0.253100 -3.079330 -0.257476 -3.278011 -0.257476 -3.278011 -0.277726 -3.503104 -0.277726 -3.503104 -0.303178 -3.846287 -0.303178 -3.846287 -0.334364 -4.109955 -0.334364 -4.109955 -0.392588 -4.465796 -0.392588 -4.465796 -0.439246 -4.675015 -0.439246 -4.675015 -0.488025 -4.893744 -0.488025 -4.893744 -0.574844 -5.103990 -0.574844 -5.103990 -0.659542 -5.304726 -0.659542 -5.304726 -0.739998 -5.486443 -0.739998 -5.486443 -0.834206 -5.685057 -0.834206 -5.685057 -0.917810 -5.836122 -0.917810 -5.836122 -1.095554 -6.095970 -1.095554 -6.095970 -1.171701 -6.168834 -1.171701 -6.168834 -1.247849 -6.241699 -1.247849 -6.241699 -1.333505 -6.312442 -1.333505 -6.312442 -1.436062 -6.369436 -1.436062 -6.369436 -1.548128 -6.424307 -1.548128 -6.424307 -1.660193 -6.479178 -1.660193 -6.479178 -1.768018 -6.515028 -1.768018 -6.515028 -1.913883 -6.542397 -1.913883 -6.542397 -2.065015 -6.548626 -2.065015 -6.548626 -2.284839 -6.549516 -2.284839 -6.549516 -2.528949 -6.525025 -2.528949 -6.525025 -2.814248 -6.461401 -2.814248 -6.461401 -3.125956 -6.381904 -3.125956 -6.381904 -3.402771 -6.280239 -3.402771 -6.280239 -3.673224 -6.150045 -3.673224 -6.150045 -3.942583 -5.970181 -3.942583 -5.970181 -4.184439 -5.756518 -4.184439 -5.756518 -4.414663 -5.535464 -4.414663 -5.535464 -4.623745 -5.309144 -4.623745 -5.309144 -4.809568 -5.068045 -4.809568 -5.068045 -4.957350 -4.835429 -4.957350 -4.835429 -5.077630 -4.569016 -5.077630 -4.569016 -5.193668 -4.283582 -5.193668 -4.283582 -5.294928 -4.021410 -5.294928 -4.021410 -5.364510 -3.796251 -5.364510 -3.796251 9.442257 1.891082 9.442257 1.891082 -5.460701 -2.963037 -5.460701 -2.963037 -5.453463 -2.628378 -5.453463 -2.628378 -5.427879 -2.334596 -5.427879 -2.334596 -5.376979 -2.106357 -5.376979 -2.106357 -5.311301 -1.901380 -5.311301 -1.901380 -5.209704 -1.714396 -5.209704 -1.714396 -5.094422 -1.600343 -5.094422 -1.600343 -4.990771 -1.493680 -4.990771 -1.493680 -4.860712 -1.402891 -4.860712 -1.402891 -4.746526 -1.338510 -4.746526 -1.338510 -4.648211 -1.300537 -4.648211 -1.300537 -4.544628 -1.283705 -4.544628 -1.283705 -4.450556 -1.264753 -4.450556 -1.264753 -4.316322 -1.244774 -4.316322 -1.244774 -4.188451 -1.253325 -4.188451 -1.253325 -4.089109 -1.255514 -4.089109 -1.255514 -3.974396 -1.273431 -3.974396 -1.273431 -3.866139 -1.285272 -3.866139 -1.285272 -3.761073 -1.309984 -3.761073 -1.309984 -3.628390 -1.338293 -3.628390 -1.338293 -3.495251 -1.367985 -3.495251 -1.367985 -3.343092 -1.401918 -3.343092 -1.401918 -3.187231 -1.440355 -3.187231 -1.440355 -3.012364 -1.485656 -3.012364 -1.485656 -2.824286 -1.537583 -2.824286 -1.537583 -2.657348 -1.594778 -2.657348 -1.594778 -2.492532 -1.661482 -2.492532 -1.661482 -2.325594 -1.718677 -2.325594 -1.718677 -2.158656 -1.775872 -2.158656 -1.775872 -2.003350 -1.840456 -2.003350 -1.840456 -1.675838 -1.983376 -1.675838 -1.983376 -1.530041 -2.045839 -1.530041 -2.045839 -1.384244 -2.108301 -1.384244 -2.108301 -1.238447 -2.170764 -1.238447 -2.170764 -1.100039 -2.221597 -1.100039 -2.221597 -0.935223 -2.288301 -0.935223 -2.288301 -0.749265 -2.349738 -0.749265 -2.349738 -0.561187 -2.401664 -0.561187 -2.401664 -0.390008 -2.439840 -0.390008 -2.439840 -0.192420 -2.493886 -0.192420 -2.493886 -0.002221 -2.536303 -0.002221 -2.536303 0.187978 -2.578720 0.187978 -2.578720 0.359157 -2.616895 0.359157 -2.616895 0.534578 -2.636050 0.534578 -2.636050 0.705757 -2.674225 0.705757 -2.674225 0.879057 -2.702889 0.879057 -2.702889 1.054478 -2.722044 1.054478 -2.722044 1.262671 -2.728542 1.262671 -2.728542 1.461353 -2.732918 1.461353 -2.732918 1.650525 -2.735174 1.650525 -2.735174 1.830187 -2.735310 1.830187 -2.735310 2.007729 -2.744955 2.007729 -2.744955 2.189512 -2.735579 2.189512 -2.735579 2.371295 -2.726205 2.371295 -2.726205 2.572099 -2.721072 2.572099 -2.721072 2.756003 -2.702187 2.756003 -2.702187 2.928276 -2.690691 2.928276 -2.690691 3.093160 -2.667564 3.093160 -2.667564 3.258045 -2.644438 3.258045 -2.644438 3.415540 -2.609681 3.415540 -2.609681 3.582545 -2.577044 3.582545 -2.577044 3.770690 -2.539139 3.770690 -2.539139 3.958836 -2.501234 3.958836 -2.501234 4.220304 -2.438764 4.220304 -2.438764 4.456704 -2.372674 4.456704 -2.372674 4.656481 -2.327380 4.656481 -2.327380 4.860498 -2.263067 4.860498 -2.263067 5.005336 -2.195538 5.005336 -2.195538 5.159683 -2.130130 5.159683 -2.130130 5.325662 -2.057333 5.325662 -2.057333 5.498003 -1.956006 5.498003 -1.956006 5.644961 -1.878968 5.644961 -1.878968 5.813061 -1.796660 5.813061 -1.796660 5.992790 -1.706964 5.992790 -1.706964 6.165132 -1.605637 6.165132 -1.605637 6.341714 -1.485291 6.341714 -1.485291 6.522537 -1.345923 6.522537 -1.345923 6.655812 -1.195953 6.655812 -1.195953 6.777455 -1.053371 6.777455 -1.053371 6.891710 -0.899158 6.891710 -0.899158 7.033468 -0.711148 7.033468 -0.711148 7.168931 -0.461836 7.168931 -0.461836 7.307609 -0.153343 7.307609 -0.153343 7.447381 0.204820 7.447381 0.204820 7.575521 0.555593 7.575521 0.555593 7.674038 0.863060 7.674038 0.863060 7.752440 1.125097 7.752440 1.125097 7.818120 1.330074 7.818120 1.330074 7.862657 1.529783 7.862657 1.529783 7.918825 1.736881 7.918825 1.736881 7.968698 2.005281 7.968698 2.005281 8.019665 2.323350 8.019665 2.323350 8.059002 2.634032 8.059002 2.634032 8.084587 2.927814 8.084587 2.927814 8.086910 3.206817 8.086910 3.206817 8.091354 3.495332 8.091354 3.495332 8.059879 3.801838 8.059879 3.801838 8.011505 4.122097 8.011505 4.122097 7.917703 4.462468 7.917703 4.462468 7.819659 4.783822 7.819659 4.783822 7.729004 5.093544 7.729004 5.093544 7.591825 5.373708 7.591825 5.373708 7.438152 5.641303 7.438152 5.641303 -1.903644 -9.075254 -1.903644 -9.075254 6.958415 6.293634 6.958415 6.293634 6.656418 6.640504 6.656418 6.640504 6.336431 6.951455 6.336431 6.951455 5.969919 7.232849 5.969919 7.232849 5.623454 7.469843 5.623454 7.469843 5.260022 7.630754 5.260022 7.630754 4.876477 7.746239 4.876477 7.746239 4.481301 7.854333 4.481301 7.854333 4.104050 7.908514 4.104050 7.908514 3.753209 7.946826 3.753209 7.946826 3.421387 7.980894 3.421387 7.980894 3.094834 7.993821 3.094834 7.993821 2.832729 7.982392 2.832729 7.982392 2.591765 7.976233 2.591765 7.976233 2.391989 7.930939 2.391989 7.930939 2.203843 7.893034 2.203843 7.893034 2.006187 7.857250 2.006187 7.857250 1.851840 7.791843 1.851840 7.791843 1.730264 7.739091 1.730264 7.739091 1.592020 7.673949 1.592020 7.673949 1.464877 7.578651 1.464877 7.578651 1.361226 7.471989 1.361226 7.471989 1.297736 7.366353 1.297736 7.366353 1.243757 7.258597 1.243757 7.258597 1.199287 7.148717 1.199287 7.148717 1.168151 6.995534 1.168151 6.995534 1.150441 6.840158 1.150441 6.840158 1.144421 6.702590 1.144421 6.702590 1.138607 6.563275 1.138607 6.563275 1.144835 6.412143 1.144835 6.412143 1.153183 6.270520 1.153183 6.270520 1.142511 6.133140 1.142511 6.133140 1.151886 5.951356 1.151886 5.951356 1.178160 5.755821 1.178160 5.755821 1.198071 5.531755 1.198071 5.531755 1.217983 5.307692 1.217983 5.307692 1.256914 5.079386 1.256914 5.079386 1.276826 4.855321 1.276826 4.855321 1.298858 4.640766 1.298858 4.640766 1.313502 4.437842 1.313502 4.437842 1.360916 4.247575 1.360916 4.247575 1.398821 4.059430 1.398821 4.059430 1.438847 3.880794 1.438847 3.880794 1.459852 3.706400 1.459852 3.706400 1.482979 3.541515 1.482979 3.541515 1.510347 3.395651 1.510347 3.395651 1.539836 3.259297 1.539836 3.259297 1.578835 3.120821 1.578835 3.120821 1.611797 3.016539 1.611797 3.016539 1.657927 2.893542 1.657927 2.893542 1.687416 2.757187 1.687416 2.757187 1.716905 2.620833 1.716905 2.620833 1.752756 2.513009 1.752756 2.513009 1.782245 2.376655 1.782245 2.376655 1.825486 2.257199 1.825486 2.257199 1.852854 2.111335 1.852854 2.111335 1.908752 1.959108 1.908752 1.959108 1.945630 1.811123 1.945630 1.811123 1.994139 1.670527 1.994139 1.670527 2.035192 1.451731 2.035192 1.451731 2.061532 1.346027 2.061532 1.346027 2.085753 1.230813 2.085753 1.230813 2.102585 1.127230 2.102585 1.127230 2.119416 1.023648 2.119416 1.023648 2.134127 0.910555 2.134127 0.910555 2.150959 0.806972 2.150959 0.806972 2.161428 0.674859 2.161428 0.674859 2.186675 0.519485 2.186675 0.519485 2.208348 0.260100 2.208348 0.260100 9.439452 2.503374 9.439452 2.503374 2.213841 0.104127 2.213841 0.104127 2.222189 -0.037496 2.222189 -0.037496 2.221027 -0.176997 2.221027 -0.176997 2.246275 -0.332372 2.246275 -0.332372 2.254623 -0.473994 2.254623 -0.473994 2.247098 -0.642026 2.247098 -0.642026 2.270225 -0.806910 2.270225 -0.806910 2.274332 -0.967553 2.274332 -0.967553 2.266808 -1.135584 2.266808 -1.135584 2.287813 -1.309979 2.287813 -1.309979 2.291920 -1.470621 2.291920 -1.470621 2.305537 -1.633384 2.305537 -1.633384 2.307522 -1.803537 2.307522 -1.803537 2.307387 -1.983199 2.307387 -1.983199 2.309373 -2.153352 2.309373 -2.153352 2.311359 -2.323504 2.311359 -2.323504 2.315465 -2.484147 2.315465 -2.484147 2.307941 -2.652179 2.307941 -2.652179 2.312048 -2.812821 2.312048 -2.812821 2.306644 -2.971343 2.306644 -2.971343 2.291731 -3.127743 2.291731 -3.127743 2.286328 -3.286265 2.286328 -3.286265 2.267172 -3.461686 2.267172 -3.461686 2.238508 -3.634986 2.238508 -3.634986 2.200333 -3.806165 2.200333 -3.806165 2.165306 -4.007995 2.165306 -4.007995 2.113379 -4.196073 2.113379 -4.196073 2.055090 -4.412682 2.055090 -4.412682 1.989412 -4.617658 1.989412 -4.617658 1.898352 -4.846923 1.898352 -4.846923 1.827859 -5.055946 1.827859 -5.055946 1.745855 -5.262147 1.745855 -5.262147 1.654794 -5.491412 1.654794 -5.491412 1.535178 -5.762225 1.535178 -5.762225 -4.989427 1.167260 -4.989427 1.167260 1.328795 -6.147464 1.328795 -6.147464 1.225077 -6.343958 1.225077 -6.343958 1.118211 -6.509801 1.118211 -6.509801 1.013467 -6.666134 1.013467 -6.666134 0.912964 -6.803448 0.912964 -6.803448 0.807193 -6.919621 0.807193 -6.919621 0.701422 -7.035794 0.701422 -7.035794 0.597771 -7.142456 0.597771 -7.142456 0.448692 -7.229006 0.448692 -7.229006 0.285861 -7.332453 0.285861 -7.332453 0.104011 -7.431658 0.104011 -7.431658 -0.077840 -7.530864 -0.077840 -7.530864 -0.295610 -7.612077 -0.295610 -7.612077 -0.528158 -7.670029 -0.528158 -7.670029 -0.795599 -7.750148 -0.795599 -7.750148 -1.091569 -7.823905 -1.091569 -7.823905 -1.397049 -7.895539 -1.397049 -7.895539 -1.669758 -7.954518 -1.669758 -7.954518 -1.947735 -7.992354 -1.947735 -7.992354 -2.217228 -7.992151 -2.217228 -7.992151 -2.475091 -7.984560 -2.475091 -7.984560 -2.728712 -7.957949 -2.728712 -7.957949 -2.970703 -7.923948 -2.970703 -7.923948 -3.179922 -7.877289 -3.179922 -7.877289 -3.377510 -7.823242 -3.377510 -7.823242 -3.563468 -7.761806 -3.563468 -7.761806 -3.735673 -7.683469 -3.735673 -7.683469 -3.894128 -7.588236 -3.894128 -7.588236 -4.045193 -7.504632 -4.045193 -7.504632 -4.175117 -7.415761 -4.175117 -7.415761 -4.301157 -7.302763 -4.301157 -7.302763 -4.403221 -7.185198 -4.403221 -7.185198 -4.481354 -7.087910 -4.481354 -7.087910 -4.547643 -6.990116 -4.547643 -6.990116 -4.586855 -6.881865 -4.586855 -6.881865 -4.595272 -6.792966 -4.595272 -6.792966 -4.579331 -6.676725 -4.579331 -6.676725 -4.524188 -6.429467 -4.524188 -6.429467 -4.486014 -6.258287 -4.486014 -6.258287 -4.412947 -6.064941 -4.412947 -6.064941 -4.320859 -5.875837 -4.320859 -5.875837 -4.251008 -5.741672 -4.251008 -5.741672 -4.167405 -5.590605 -4.167405 -5.590605 -4.044666 -5.398354 -4.044666 -5.398354 -3.899693 -5.151162 -3.899693 -5.151162 -3.800217 -4.973688 -3.800217 -4.973688 -3.698620 -4.786704 -3.698620 -4.786704 -3.594902 -4.590210 -3.594902 -4.590210 -3.503910 -4.450776 -3.503910 -4.450776 -3.426668 -4.328240 -3.426668 -4.328240 -3.337795 -4.198317 -3.337795 -4.198317 -3.242561 -4.039862 -3.242561 -4.039862 -3.158957 -3.888797 -3.158957 -3.888797 -2.993870 -3.596177 -2.993870 -3.596177 -2.861623 -3.406046 -2.861623 -3.406046 -2.784381 -3.283510 -2.784381 -3.283510 -2.695509 -3.153586 -2.695509 -3.153586 -2.615120 -3.061702 -2.615120 -3.061702 -2.542121 -2.958186 -2.542121 -2.958186 -2.489235 -2.900099 -2.489235 -2.900099 -2.443738 -2.830383 -2.443738 -2.830383 -2.386611 -2.753277 -2.386611 -2.753277 -2.338994 -2.674049 -2.338994 -2.674049 -2.256485 -2.572655 -2.256485 -2.572655 -2.195116 -2.476529 -2.195116 -2.476529 -2.131626 -2.370893 -2.131626 -2.370893 -2.058627 -2.267377 -2.058627 -2.267377 -1.976117 -2.165982 -1.976117 -2.165982 -1.873493 -2.019159 -1.873493 -2.019159 -1.759239 -1.864947 -1.759239 -1.864947 -1.640743 -1.691714 -1.640743 -1.691714 -1.520125 -1.508972 -1.520125 -1.508972 -1.427012 -1.360028 -1.427012 -1.360028 -1.333898 -1.211084 -1.333898 -1.211084 -1.240784 -1.062139 -1.240784 -1.062139 -1.163543 -0.939604 -1.163543 -0.939604 -1.097932 -0.824458 -1.097932 -0.824458 -1.020691 -0.701923 -1.020691 -0.701923 -0.941329 -0.569878 -0.941329 -0.569878 -0.869356 -0.426202 -0.869356 -0.426202 -0.782605 -0.305787 -0.782605 -0.305787 -0.721236 -0.209661 -0.721236 -0.209661 -0.655625 -0.094515 -0.655625 -0.094515 -0.597404 0.032262 -0.597404 0.032262 -0.504290 0.181206 -0.504290 0.181206 -0.413297 0.320640 -0.413297 0.320640 -0.320183 0.469585 -0.320183 0.469585 -0.245063 0.582610 -0.245063 0.582610 -0.195325 0.671347 -0.195325 0.671347 -0.140318 0.738943 -0.140318 0.738943 0.012044 0.974504 0.012044 0.974504 0.103036 1.113938 0.103036 1.113938 0.188761 1.274513 0.188761 1.274513 0.266002 1.397048 0.266002 1.397048 0.343244 1.519583 0.343244 1.519583 0.420485 1.642118 0.420485 1.642118 0.507236 1.762533 0.507236 1.762533 0.615128 1.888216 0.615128 1.888216 0.735745 2.070958 0.735745 2.070958 0.850000 2.225170 0.850000 2.225170 0.962133 2.369873 0.962133 2.369873 1.025623 2.475509 1.025623 2.475509 1.127153 2.572662 1.127153 2.572662 -0.223560 4.713464 -0.223560 4.713464 1.256185 2.703612 1.256185 2.703612 1.332333 2.776477 1.332333 2.776477 1.410601 2.858852 1.410601 2.858852 1.461365 2.907429 1.461365 2.907429 1.521640 2.953884 1.521640 2.953884 1.626969 3.008708 1.626969 3.008708 1.670719 3.040433 1.670719 3.040433 1.769034 3.078405 1.769034 3.078405 1.867348 3.116377 1.867348 3.116377 1.937133 3.160712 1.937133 3.160712 2.025938 3.200805 2.025938 3.200805 2.126373 3.248287 2.126373 3.248287 2.250070 3.310548 2.250070 3.310548 2.402297 3.366446 2.402297 3.366446 2.529141 3.398055 2.529141 3.398055 1.030204 8.314361 1.030204 8.314361 2.806091 3.476053 2.806091 3.476053 2.942446 3.505543 2.942446 3.505543 3.078800 3.535032 3.078800 3.535032 3.220423 3.543379 3.220423 3.543379 3.343025 3.555969 3.343025 3.555969 3.444487 3.563291 3.444487 3.563291 3.676755 8.430913 3.676755 8.430913 3.683330 3.559942 3.683330 3.559942 3.814349 3.520739 3.814349 3.520739 3.937978 3.493169 3.937978 3.493169 4.052098 3.467720 4.052098 3.467720 4.185237 3.438028 4.185237 3.438028 6.938247 7.797853 6.938247 7.797853 4.417649 3.316316 4.417649 3.316316 4.542305 3.248584 4.542305 3.248584 4.669083 3.190364 4.669083 3.190364 4.774719 3.126873 4.774719 3.126873 4.861335 3.067625 4.861335 3.067625 4.947951 3.008377 4.947951 3.008377 4.997707 2.971211 4.997707 2.971211 5.099590 2.870607 5.099590 2.870607 5.181324 2.756675 5.181324 2.756675 5.289012 2.612864 5.289012 2.612864 5.394582 2.459543 5.394582 2.459543 5.432553 2.361228 5.432553 2.361228 5.472647 2.272424 5.472647 2.272424 5.510619 2.174110 5.510619 2.174110 5.555981 2.064163 5.555981 2.064163 5.582322 1.958461 5.582322 1.958461 5.618174 1.850636 5.618174 1.850636 8.968506 4.056384 8.968506 4.056384 5.661346 1.641349 5.661346 1.641349 5.680299 1.547276 5.680299 1.547276 5.692867 1.471735 5.692867 1.471735 5.717951 1.260110 5.717951 1.260110 5.741782 1.082243 5.741782 1.082243 5.753834 0.976749 5.753834 0.976749 5.755284 0.883940 5.755284 0.883940 5.761088 0.785455 5.761088 0.785455 5.762048 0.655463 5.762048 0.655463 5.755616 0.537103 5.755616 0.537103 5.732196 0.285523 5.732196 0.285523 5.680652 0.058291 5.680652 0.058291 5.600560 -0.086294 5.600560 -0.086294 5.510205 -0.152503 5.510205 -0.152503 5.380741 -0.154162 5.380741 -0.154162 5.210076 -0.101513 5.210076 -0.101513 5.078604 -0.028640 5.078604 -0.028640 4.982245 0.056311"

@bkiers
Copy link
Owner

bkiers commented Aug 5, 2015

Ouch! :)

Thanks for reporting Campbell, will have a look at this later on.

@ideasman42
Copy link
Author

I've managed to fix the bug in my own port, (single file: https://gitlab.com/ideasman42/isect_all_lines_compgeom/blob/master/poly_point_isect.py )

To ensure this isn't just working by some coincidence, this test rotates 360degrees at 5deg increments (tested to be correct at 0.5degrees increments too).

However didn't manage to apply the changes from my own port back to your code so it would pass the test - so linking to mine in case it helps.

note, the fix on my side was to change the order of insertion/removal when handling events, but this may be related to the btree implementation, see: https://pypi.python.org/pypi/bintrees

I've made a branch, for reference (so these instructions don't become invalid):

https://gitlab.com/ideasman42/isect_all_lines_compgeom/tree/issue_1_fix_test

Clone the branch and run:

python3 stress_test.py


I've also tested randomizing all the points (using different seeds for shuffling), which causes 94565 intersections (in the committed test).

While this works its quite prone to float precision error (Python uses double). Epsilon value above 1e-08 gave me errors.

@bkiers
Copy link
Owner

bkiers commented Oct 17, 2015

@ideasman42 thank you, I appreciate it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants