The problem of efficiently computing the decomposition has not yet
been considered. Without concern for efficiency, the problem appears
simple enough that all of the required steps can be computed by
brute-force computations. If
has
vertices, then this
approach would take at least
time because intersection tests
have to be made between each vertical ray and each segment. This even
ignores the data structure issues involved in finding the cells that
contain the query points and in building the roadmap that holds the
connectivity information. By careful organization of the computation,
it turns out that all of this can be nicely handled, and the resulting
running time is only
.