Given a polyhedral terrain T with n vertices, the two-watchtower problem for T asks to find two vertical segments, called watchtowers, of smallest common height, whose bottom endpoints (bases) lie on T, and whose top endpoints guard T, in the sense that each point on T is visible from at least one of them. There are three versions of the problem, discrete, semi-continuous, and continuous, depending on whether two, one, or none of the two bases are restricted to be among the vertices of T, respectively.
In this paper we present the following results for the two-watchtower problem in ℝ2 and ℝ3: (1) We show that the discrete two-watchtowers problem in ℝ2 can be solved in O(n 2log 4 n) time, significantly improving previous solutions. The algorithm works, without increasing its asymptotic running time, for the semi-continuous version, where one of the towers is allowed to be placed anywhere on T. (2) We show that the continuous two-watchtower problem in ℝ2 can be solved in O(n 3 α(n)log 3 n) time, again significantly improving previous results. (3) Still in ℝ2, we show that the continuous version of the problem of guarding a finite set P⊂T of m points by two watchtowers of smallest common height can be solved in O(mnlog 4 n) time. (4) We show that the discrete version of the two-watchtower problem in ℝ3 can be solved in O(n 11/3polylog(n)) time; this is the first nontrivial result for this problem in ℝ3.