FINDING ALL DOOR LOCATIONS THAT MAKE A ROOM SEARCHABLE
A room is a simple polygon with a prespecified point, called the door, on its boundary. Search starts at the door, in order to detect any intruder who was in the room at the time it started. Search may be conducted by two guards on the boundary who can detect any intruder that crosses the line connecting them, or by a single searcher with a flashlight, moving on the boundary. A room may or may not be searchable, depending on where the door is placed or no matter where the door is placed. The main contribution of this paper is an O(n log n) time algorithm for finding all intervals on the polygon boundary, if any, where the door can be placed for the resulting room to be searchable, where n is the number of sides of the given polygon.
computational geometry polygon search pursuit and evasion room search