geometrycomputational-geometrygeometry-surface

Interpolation of Polyhedron


Given a polyhedron defined by a matrix of 3-Dimensional vertices and its faces(delaunay triangles), I want to be able to create a smooth 3-D object.

Is there any software that has built a built in function that would allow me to do this?

If not, I have found a paper that seems to describe what I want, but I am unable to fully understand the math. http://graphics.berkeley.edu/papers/Turk-MIS-2002-10/Turk-MIS-2002-10.pdf.

Here is an examples of what I am looking for.

Rabbit


Solution

  • One solution for "smoothing" geometry, if we state the problem a bit more formally, is to perform mean curvature flow on your mesh. Here are some search terms - "curve-shortening flow", "mean curvature flow", "willmore flow", "conformal curvature flow" ...

    Image source: Keenan Crane. Context and permission

    "Smoothness of a surface or curve is very hard to define. (For an empirical test on what people perceive as smooth see http://www.levien.com/phd/thesis.pdf#page=23).

    If you only care about perceived smoothness, for example, smoother appearance while rendering in high resolution etc., an easier approach would be Catmull-Clark subdivision scheme.

    The geometric intuition is quite simple. In the case of a 2D curve, in every instance, every point on a curve moves according to some function of the curvature at that point. If we let the curve or surface move like this for some time, it will start smoothing out areas with high curvature more and more, eventually becoming a circle (or a sphere in 3d) and then collapse to a point. So for smoothing usually we have to preserve areas or volumes.

    One way to define it is in terms of some energy, and our goal is to minimise this energy on the mesh. For example willmore flow minimises the willmore energy. Sometimes this process is called fairing.

    I am not aware of a prepackaged library or tool, that's freely available and open source for curvature flow.

    Algorithms

    1. 2D only K.Mikula, D.Sevcovic, "Tangentially stabilized Lagrangian algorithm for elastic curve evolution driven by intrinsic Laplacian of curvature", pdf

    2. 2D and 3D https://www.youtube.com/watch?v=Jhqlmcms04M. Keenan Crane's page has more information on this and more examples too. http://www.cs.cmu.edu/~kmcrane/Projects/ConformalWillmoreFlow/

    3. 2D and 3D (level set method) https://math.berkeley.edu/~sethian/2006/level_set.html