TRL
TOP PAGETokyo Research LaboratoryEmploymentProjectsRelated InformationIBM Research
Japanese page is here.

Wireframe-surface conversion



Outline

The goal of this project is to automatically convert a wireframe model (i.e., a set of curve segments in 3D space) into a surface model representing either a boundary of a solid or a sheet of surface.

A wireframe model can be viewed as a collection of boundaries of faces (namely, bounded curved surfaces), but it does not include the following information that is essential for a surface model:

  • what sequense of curved segments makes each face,
  • what curved surface fits in each loop (i.e., face).
Therefore, the use of a wireframe model is limited although it can be inputted and editted more easily than surface or solid models.

Our method interprets a wireframe model and converts it to a surface model that represents the simplest geometry. The technology has the following application areas:

  • quick and easy interface for inputting 3D shapes (e.g. mechanical CAD, Web content creation, design of video games or animation films)
  • conversion of existing wireframe databases for broader applications
  • matching of wireframe models and stored surface models in computer vision

Why wireframe? Wireframe model of a cat's head

A wireframe model is a collection of curve segments in 3D space. It is usually meant for a surfaced structure or a solid object because a wireframe needs smaller storage and is easier to handle compared with surface or solid models.

But wireframe models have no surface data in it. So, it needs to be converted into surface model for the purpose of various operations in the computer (e.g. computer grpahics, structural analysis, collision detection, process planning, etc.)


Topological interpretation of a wireframe

In order to interpret a wireframe as a closed surface, it is necessary to find a proper set of face loops. Once it becomes a closed surface, then it can be either converted to a solid model or regarded as a bounded surface by removing some faces.

The condition for a set of loops to make a closed surface is that every edge is traced twice in two distinct directions.

Wireframe of a cube Loops trace every edge two times.
For example, as to the cube-like wireframe on the left, there is only one intepretation shown on the right - we say this as there is only one embedding for the wireframe.

The interesting thing is that geometric information about edges and vertices is not necessary for telling the fact; only the connectivity is enough. Likewise, there is only one embedding for a more complicated model shown in the top-right figure (i.e., a cat's head).

Once a set of loops is determined, you almost solved the problem, that is you just need to fix a surface for each loop.

Then, do we always have just one embedding for any wireframe? Unfortunately, the answer is "No." Let's try the following wireframe model. How many interpretations as a closed surface do you think of? (The answer is here.)

Wireframe having multiple interpretations

Generating all topological interpretations

Our approach to this problem is to generate all embeddings of the wireframe onto the sphere. We first apply the technique of triconnected component decomposition to the input wireframe. For instance, the below graph is recursively splitted at such pair of vertices that removing the vertices make the graph split.

Process of triconnected components decomposition
Since each component's embeddings on the sphere are easily enumerated, we can merge all spheres at splitting places (i.e., virtual edges generated when splitting) to get an embedding for the whole. All embeddings are generated combinatorially depending on if spheres are reversed or not when merging (see the below).

Merging spheres to make a whole embedding

Generating surface geometry and pruning solutions

So far, all possible interpretations of a wireframe are generated based only on topological data. The following process is to generate a surface geometry based on the boundary of each face, and to prune out non-realistic solutions.

In generating surfaces, we adopted the principle of favoring simpler shapes. A plane is the simplest and basic quadric surfaces (i.e., spheres, cylinders, and cones) come next. If such a surface doesn't fit to the boundary, a freeform surface is generated by using the technology of physically-based surface design. That is, a mesh is generated from a boundary loop and surface normal vectors at some points on the loop.

Face loop with normal vectors Generated mesh for the face Smoothed surface for the face

After obtaining all possible surface models, we exclude non-realistic ones and prioritize the remaining ones based on geometric simplicity. The following criteria can be used:

  • If faces intersect not on their boundary, the solution is non-realistic.
  • If two adjacent faces have almost opposite surface normal vectors, the solution represents a hardly manufacturable shape.
  • Solutions containing many simpler faces (i.e., planes, basic quadric surfaces) are simpler than others.
  • Solutions with smaller area is simpler.

Samples

Here are experimental results for two wireframes. The upper example represents an open surface object, while the lower a closed boundary surface of a solid object.

Input wireframe Number of solutions or faces Surface model (The primary candidate)
Wireframe Sample 1
total solutions:8
faces per solution:28
common faces in all solutions:23
occasional faces:12
Surface model for
Sample 1
total solutions:3456
valid solutions:128
faces per solution:61
common faces in all solutions:49
occasional faces:61


Summary

Our approach can be characterized as follows:

  • Separation of topology and geometry.
    Because our method doesn't rely on geometry in finding loops, it works fine with models which consist of freeform faces, and a small change of curve geometry doesn't cause drastic change in solutions.

  • Applicability to wireframes with plural solutions.
    Our method considers possible interpretations exhaustively and efficiently.

  • Clear distinction between surely existent faces (i.e., loops) and candidates.
    This capability makes human selection, if any, very easy.

The future work includes relaxing the current restrictions on input wireframes, which are biconnectivity and planarity.

Research home IBM home Order Privacy Legal Contact IBM
Last modified 28 Feb 2001