I am trying to determine a way to detect sub-polygons given the information of member connectivity. The sub-polygons are actually the floor panels of a building/industrial structure plan and the line segments are crisscrossing beams.
Consider the following polygon as attached
![tooltip Example of a polygon]](https://i.stack.imgur.com/uOR8H.png)
Let the known parameter be as follows:
- Member to member connectivity, i.e. it is known that A – E, X – E, F – B, etc. for all the members.
- All the space co-ordinates (x, y, z) for each co-ordinate is known.
Note that we do not know which members form the sub-polygon(s).
Given this information, I want to find all the edges and vertices which make up each of the sub-polygons, or in mathematical terms:
EDGES () = A-E, X-E, E-C etc. and VERTICES () = A, X, E, C etc.
CAL_SUB_POLY (EDGES, VERTICES) = POLY(A-E-X-G), POLY(A-G-D), POLY(X-E-C-G) and POLY(G-D-F-B-C)
Please note that the polygon shown here is just one case for illustration. The complexity may expand with increase in generality. Could it be possible to make a general algorithm for n-vertices and k-edges. I have looked into meshing algorithms like winged-edge technique and delaunay triangulation , but I cannot find anything relevant. In most meshing algorithms, the technique is used to create a data structure which stores the info of all mesh given that we already know which edges make the surface; thus those techniques are an effective method of storing and accessing that information, not in sub-polygon determination.
I am actually a structural engineer who develops engineering algorithms and this current assignment is a bit complex as I am not very familiar with combinatoric geometry or graph theory.
I would be very grateful for any hint in the correct direction.
Thanks, Sid