  In this paper, we study the following problem of reconstructing a simple
polygon: Given a cyclically ordered vertex sequence of an unknown simple
polygon P of n vertices and, for each vertex v of P, the sequence of angles
defined by all the visible vertices of v in P, reconstruct the polygon P (up to
similarity). An O(n^3 log n) time algorithm has been proposed for this problem.
We present an improved algorithm with running time O(n^2), based on new
observations on the geometric structures of the problem. Since the input size
(i.e., the total number of input visibility angles) is O(n^2) in the worst
case, our algorithm is worst-case optimal.
