I have a list of Surfaces defining a 3D Object. Those surfaces have the following constraints:
- each surface is defined with an array of vertices defining its border
- no holes are inside of an surface
- surfaces do not overlap or go through other surfaces
- each vertex on each edge of the surface is included
- all surfaces are adjectant to at least two other surfaces
- objects created by those surfaces may be concave
I want to get the outer hull of the 3D Objects created by those surfaces
- there is no empty space inside a 3D Object
Does anyone know an algorithm?
Problems:
.) I already can exclude every surface which has any edge only touching this surface
- each surfaceedge is part of at least 2 surfaces
However image 4 cubes toching each other in only 1 edge making it possible to create a single surface between them which is not part of any 3D object
[]
[] []
[]
.) getting 3D objects of surfaces only part of the hull is easy. However if there are surfaces inside an 3D object and connected to the hull, how do I find those?
Any pointers would be great. Thanks in advance