jhasse/poly2tri

Crash with a relatively simple polygon

nirvn opened this issue · 5 comments

nirvn commented

The following polygon crashes poly2try:

image

The polygon is relatively simple. One particularity is the presence of two overlapping vertices here:

image

I'm including a .dat file that triggers the crash using testbed's p2t (i.e. ./p2t crash.dat):

crash.zip

Have you check this:

  • If you have a cyclic function that generates random points make sure you don't add the same coordinate twice.
  • If you are given input and aren't sure same point exist twice you need to check for this yourself.
  • Only simple polygons are supported. You may add holes or interior Steiner points
  • Interior holes must not touch other holes, nor touch the polyline boundary
nirvn commented

@aismann , the polygon has no holes, only an exterior polyline that ends up having two vertices (i.e. vertex #3 and #6) overlapping each other:

image

If you are given input and aren't sure same point exist twice you need to check for this yourself.

nirvn commented

@aismann , in this case, removing one point (either 3 or 6) would dramatically change the shape of the polygon. Is the solution to move the point of a insignificant distance (visually speaking)?

@aismann , in this case, removing one point (either 3 or 6) would dramatically change the shape of the polygon. Is the solution to move the point of a insignificant distance (visually speaking)?

Take the left/right neighborhood points for each triangle (3/6) => not the same!