Determination of sub-polygon from line segments with known member connectivity

122 Views Asked by At

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

Example of a polygon]

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