Re: complex polygon decomposition
- From: Nils <n.pipenbrinck@xxxxxxxxx>
- Date: Mon, 21 Jan 2008 20:41:41 +0100
Hi Dave,
I can't thank you enough. That wasn't just an answer, that was an implementation plan. Thank you a lot.
Anyway, I have a few quesions regarding the whole thing. I hope I don't ask for to much but it would be great if you can give some inputs on the following two questions as well.
Bentley-Ottmann:
As anyone who ever implemented this algorithm and exposed it to real world data knows that the algorithm has issues. Namely each time you create an intersection you slightly modify the slope of all affected edges. This might cause new intersections to be generated that the bentley-ottmann algorithm can't find anymore.
This might cause all later algorithm that insinst on non-intersecting geometry to bark or run into infinite loops. (I'm sure you've seen this effect!)
During the research I did before I have seen two ways to tacke this problem.
1st: Brute force: Repeat the Bentley-Ottmann as long as you get new intersections.
2nd: Add some minkovski-sum based sensitive error metric to the intersection calculations and hope it will do it's magic.
How would you tacke these problems?
The first solution is tempting because it's just wrapping the algorithm into a simple loop which only gets executed in extreme cases anyway. I have my doubts if such an algorithm will in all caes terminate and don't go into an endless loop though.
The Data-Structure:
You've wrote that it might be easy to adapt my current datastructure for the intersection "pick the top-node and always walk as CCW as you can"-algorithm.
Well - my data-structure is built around a strong next->current->prev relationship. I'm doing decomposition into monotone chains and trinanglate the monotone chains afterwards. So my data-structure is hand-tailored to exactly this task. I have some more info to store extra-edges that get created during the monotone decomposition, indices and such stuff, but I'm not prepared for multiple next/previous links.
Converting from one structure to another is not a problem, so what data-structure for the intersection-decomposition thing would you suggest. I think the good old index/vertex database with some fine way to do fast connection queries will do the job, won't it?
Thanks in advance..
Nils
.
- Follow-Ups:
- Re: complex polygon decomposition
- From: Dave Eberly
- Re: complex polygon decomposition
- References:
- complex polygon decomposition
- From: Nils
- Re: complex polygon decomposition
- From: Dave Eberly
- complex polygon decomposition
- Prev by Date: Re: Envelope distortion
- Next by Date: Re: complex polygon decomposition
- Previous by thread: Re: complex polygon decomposition
- Next by thread: Re: complex polygon decomposition
- Index(es):
Relevant Pages
|