Boost logo

Boost :

Subject: Re: [boost] GSoC2010 Sweepline Algorithm
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2010-03-31 06:35:33


Andriy Sydorchuk wrote:
> Basically fast and robust Sweepline Algorithm requires implementation
> of next data structure:
> 1) Event Queue (priority queue).
> 2) Sweep Line (self-balancing binary search tree).
> 3) Output datastructures (voronoi vertices, triangulation edges, etc.).

These are intersting technical questions. I guess the most important thing to do is "writing the proposal for GSoC". But you are certainly right that a good understanding of the technical details helps writing a good proposal (and helps deciding whether you want to work on this problem at all).

> Based on that I got next questions:
>
> - Which kind of self-balancing binary trees is better for that kind
> of approach?
> I am thinking about Red-Black Trees in prefer to AVL trees,
> as sweepline algorithm requires more adding and deletion operations.
> And AVL trees are better for look up operations.

Most implementations I have seen so far simply tried to keep the implementation effort manageable, and made use of existing stl containers, using suitable custom comparison functors.

> - STL library includes two generic implementations of self-balancing
> binary trees (red-black): map, set.

Indeed.

> I am quite new with Boost library, but probably there are some more
> specific self-balancing binary tree implementations there?

Boost.Intrusive could also be intersting to look at.

> - For Voronoi diagram and delaunay triangulation input data is set
> of points.
> What about input of the Medial Axis problem?

Strictly speaking, a single polygon (with potential holes). However, the actual input is often a polygonal domain (= set of non-overlapping polygons), and the output is normally equivalent to computing the medial axis for each polygon of the polygonal domain separately.

Regards,
Thomas


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk