bg> E.g. your sample (in the ticket) with two points, where a spike is removed, results in a polygon with only one point. That is IMO a perfect result from remove_spikes. Because the spike is removed. remove_spikes should do nothing more than that... Why should it remove a remaining point - that point is not a spike. And remove_spikes should not change anything but spikes...


bg> That the result is still not as desired, OK, I understand that but... that should be implemented in another function (e.g. correct).


Thank you for the explanation. I'm not yet convinced. What exactly is the definition of a "spike"? How is a single point not a spike? It's a boundary that doesn't contain/represent any points of the polygon.


It might be debatable whether a single point is a spike and should be removed by remove_spikes(). However, it seems crystal clear to me that when removing spikes, the result cannot be a single point. Again: What exactly is a spike? Which points constitute a spike? In the example there was a polygon representation that consists of only a spike, i.e., the polygon does not have any points. It consists of a spike! Removing the spike is removing the polygon representation, seems obvious to me. The representation does not enclose any points, it is a spike, it should be removed. What's so special about one point or the other, that some points are removed from the representation but one remains?




Volker Schöch |
Senior Software Engineer

We are looking for C++ Developers:

think-cell Software GmbH
Chausseestr. 8/E phone / fax +49 30 666473-10 / -19
10115 Berlin, Germany US phone / fax +1 800 891 8091 / +1 212 504 3039
Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306
Directors: Dr. Markus Hannebauer, Dr. Arno Schödl