2

What is the name for this process: Constructing a polyhedron from known 2D facets (e.g.: triangles) which have connection data for their vertices?

More simply put, if I have all the pieces of a 3D and I know which corners should connect to which, what is the process used to calculate the 3D object after which they are all connected?

Also, is there a commonly used algorithm or good starting point for this research?

EDIT: I guess I'm talking about triangulation, but I don't want to generate the polygons, I already know them. The faces need to be positioned in 3 dimensions such that they connect appropriately.

Matt W
  • 11,753
  • 25
  • 118
  • 215
  • Do you mean that you know the shape of all faces but not how they relate to each other ? Like a paper model being taken apart ? –  Aug 04 '16 at 15:07
  • Sort of; I have all the faces, and information to connect their points together for when they are a 3D shape, correctly assembled, but I don't have their positions or rotations for their 3D shape. Imagine the 3D shape's faces flattened onto a sheet of paper and string connecting all their touching corners. What happens when the strings are pulled tight - assuming the faces go back to their original position as well as connections. – Matt W Aug 05 '16 at 07:31
  • That's clearer now. –  Aug 05 '16 at 08:34

2 Answers2

0

There are terms folding and unfolding, which are widely used in computational geometry to talk about such algorithms.

One example is here.

HEKTO
  • 3,876
  • 2
  • 24
  • 45
0

I don't know of a classical way to achieve that, but I think you can work it out like this:

  • choose a starting face and assume it to be in the XY plane, with one vertex at the origin and an edge originating from it along the X axis. This is enough to fix the absolute position of the polyhedron.

  • find two other faces that share this vertex and share the two edges originating from it. Their planes of support form a trihedron, and knowing the three angles at the common vertex, you can find the direction of the third common edge (this will take a bit of spherical trigonometry or vector geometry, presumably).

  • this allows you to determine the transformation matrix from one face (with a distinguished vertex and distinguished edge) to another.

  • you can repeat this operation with other triples of faces, each time determining the transformation matrices.

  • by combining the transformations, you will eventually turn all local coordinate values to global ones.

In a nutshell, you fix one of the faces, then by pulling the right strings you adjust two adjoining faces, then one more, then one more and so on. Every time you will need to find corresponding vertices/edges from other faces and to solve a "trihedron problem", to find a local transformation matrix.

Unless there are many faces or the coordinates are inaccurate, this will reconstruct the whole geometry. In case of inaccuracies, you may have to improve the global model, for instance by least-squares fitting of the edge lengths, using the initial reconstruction. But this is another story.