Before developing a better solution, what information do I need to control the properties of the resulting shapes?
The dotted lines around Q' refer to the status of the rays AB, CB, DB. I'm calling this property "visibility", but maybe that's just because I'm using this for game engines.