<p>I have a 3D object bounded by Polygons. Is there a standard algorithm that tests if the volume is closed e.g. no polygon is missing?</p>

<p><strong>Example:</strong> I have a cube bounded by six squares. The algorithm should detect if one of those squares is missing. </p>

<hr>

<p>It would be <em>perfect</em>, if also the minimal surface could be calculated to complement an existing (open) surface to a closed one. </p>

<p>It would be <em>even more perfect</em> if that minimal surface could be returned in terms of a minimal set of convex polygons.</p>

CC BY-SA 3.0
2013-10-15T14:51:28.293Z
What data does the algorithm have to work with, in particular: how is the set of existing polygons given?
Klaus Draeger
CC BY-SA 3.0
2013-10-15T21:15:50.223Z
the (ordered) coordinates of the edges are given
Simon Fromme
CC BY-SA 3.0
2013-10-17T02:39:49.833Z
That's all I should add. Which polygon is linked to which, etc. is not specified.
Simon Fromme
CC BY-SA 3.0
2013-10-17T11:16:12.753Z
I suppose that this is what the algorithm would need to determine first, i.e. determine which edges are common to two of the polygons. Your object is closed iff this is the case for all edges.
Klaus Draeger
<ds.algorithms><topology>
test if a polygon-surface is closed (+ additional nice-to-have requirements)
Simon Fromme
# test if a polygon-surface is closed (+ additional nice-to-have requirements)

(Asked by: username_0 on 2013-10-14)

I have a 3D object bounded by Polygons. Is there a standard algorithm that tests if the volume is closed e.g. no polygon is missing?

**Example:** I have a cube bounded by six squares. The algorithm should detect if one of those squares is missing.

---

It would be *perfect*, if also the minimal surface could be calculated to complement an existing (open) surface to a closed one.

It would be *even more perfect* if that minimal surface could be returned in terms of a minimal set of convex polygons.

**Tags:** ds.algorithms, topology
> **Comments:**
> **username_1**: What data does the algorithm have to work with, in particular: how is the set of existing polygons given?  
> **username_0**: the (ordered) coordinates of the edges are given  
> **username_0**: That's all I should add. Which polygon is linked to which, etc. is not specified.  
> **username_1**: I suppose that this is what the algorithm would need to determine first, i.e. determine which edges are common to two of the polygons. Your object is closed iff this is the case for all edges.  

---

## 0 answers

