  In this paper we consider the problem of computing the weak visibility
polygon of any query line segment $pq$ (or $WVP(pq)$) inside a given polygon
$P$. Our first non-trivial algorithm runs in simple polygons and needs $O(n^3
\log n)$ time and $O(n^3)$ space in the preprocessing phase to report $WVP(pq)$
of any query line segment $pq$ in time $O(\log n + |WVP(pq)|)$. We also give an
algorithm to compute the weak visibility polygon of a query line segment in a
non-simple polygon with $h$ pairwise-disjoint polygonal obstacles with a total
of $n$ vertices. Our algorithm needs $O(n^2 \log n)$ time and $O(n^2)$ space in
the preprocessing phase and computes $WVP(pq)$ in query time of $O(n\hbar \log
n + k)$, in which $\hbar$ is an output sensitive parameter of at most
$\min(h,k)$, and $k = O(n^2h^2)$ is the output size. This is the best
query-time result on this problem so far.
