Subject: Re: [boost] [geometry] robustness approaches
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2009-03-17 18:33:44
The clear position of Lucanus Simonson with respect to the "allowed" output of a line segments intersection algorithm and your reactions to his position makes me wonder which output you consider "allowed".
The figures 1a), 1b), 2) and 3b) of John Hobby's publication
clearly illustrate the discussed issue.
I considered 2) as non-acceptable output and Lucanus Simonson considered 1b) as non-acceptable. (The output 3b) seems to be the most attractive one for this example.) Your position that geometric algorithms should use exactly evaluated "predicates" called explicitly on the input (and never ever on an intermediate result) to drive the topological construction doesn't seem to settle this question.
Why not? Because the output 1b) would not be allowed as input to your algorithm, it's hard to see why you should allow it as output from your algorithm. The output 2) and 3b) on the other hand clearly fall into the category "modification of input" (because a straight segment was replaced by a bent segment), which you explicit call "hacking". And it clearly is hacking in the sense that it doesn't generalize to other problems (like the straight skeleton for example). I somehow got the impression that 1b) is indeed the output that you consider "allowable", but I would like you to confirm or correct this impression.
Just to be clear, output 1a) is not an option, because the "output-format" doesn't allow reporting it.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk