↑ arvau

Wikipedia / Implicit surface

In mathematics, an implicit surface is a surface in Euclidean space defined by an equation

An implicit surface is the set of zeros of a function of three variables. Implicit means that the equation is not solved for or or .

and is called an explicit representation. The third essential description of a surface is the parametric, where the -, - and (parametric).

Examples:

  1. The plane

  2. The sphere

  3. The torus

  4. A surface of genus (see diagram).

  5. The surface of revolution (see diagram wineglass).

For a plane, a sphere, and a torus there exist simple parametric representations. This is not true for the fourth example.

The implicit function theorem can be solved (at least implicitly) for , or . But in general the solution may not be made explicit. This theorem is the key to the computation of essential geometric features of a surface: tangent planes, surface normals, curvatures (see below). But they have an essential drawback: their visualization is difficult.

is polynomial in , and , the surface is called algebraic. Example 5 is non-algebraic.

Despite difficulty of visualization, implicit surfaces provide relatively simple techniques to generate theoretically (e.g. Steiner surface) and practically (see below) interesting surfaces.

Formulas

meets the necessary conditions of differentiability. The partial derivatives.

Tangent plane and normal vector

is called regular if and only if the gradient, meaning

  1. .

is not regular, it is called singular.

is

and a normal vector is

Normal curvature

are omitted:

is the Hessian matrix (matrix of the second derivatives).

The proof of this formula relies (as in the case of an implicit curve) on the implicit function theorem and the formula for the normal curvature of a parametric surface.

Applications of implicit surfaces

As in the case of implicit curves it is an easy task to generate implicit surfaces with desired shapes by applying algebraic operations (addition, multiplication) on simple primitives.

Equipotential surface of point charges

the potential (omitting physical constants)

.

point charges is represented by

.

Constant distance product surface

A Cassini oval can be defined as the point set for which the product of the distances to two given points is constant (in contrast, for an ellipse the sum is constant). In a similar way implicit surfaces can be defined by a constant distance product to several fixed points.

In the diagram metamorphoses the upper left surface is generated by this rule: With

is displayed.

Metamorphoses of implicit surfaces

A further simple method to generate new implicit surfaces is called metamorphosis or homotopy of implicit surfaces:

:

.

Smooth approximations of several implicit surfaces

-surfaces . Then, the approximating object is defined by the polynomial

stands for the blending parameter that controls the approximating error.

Analogously to the smooth approximation with implicit curves, the equation

smooth approximations of three intersecting tori with equations

)

Visualization of implicit surfaces

There are various algorithms for rendering implicit surfaces, including the marching cubes algorithm. Essentially there are two ideas for visualizing an implicit surface: One generates a net of polygons which is visualized (see surface triangulation) and the second relies on ray tracing which determines intersection points of rays with the surface. The intersection points can be approximated by sphere tracing, using a signed distance function to find the distance to the surface.

Implicit surface software

Free implicit surface software

Open-source or free software supporting algebraic implicit surface modelling:

  • K3DSurf A program to visualize and manipulate Mathematical models in 3-6 dimensions. K3DSurf supports Parametric equations and Isosurfaces

  • CGAL (Computational Geometry Algorithms Library), written in C++, has strong support for implicit surface modeling (Boolean operations on implicit surfaces, Surface meshing for visualization, Implicit curve arrangements).

  • PyVista, a Python wrapper around VTK for easier handling of implicit surfaces. Simplified API for rendering and manipulating implicit surfaces. It can integrate with numpy.

  • Some Blender add-ons (metaballs and volumetric modeling for implicit surfaces, and scripting support for custom implicit functions).

  • SculptsFEM (for solving PDEs on implicit surfaces, Implicit curve generation)

  • ImpliSolid (open-source), supports sharp edges.

  • Houdini (supports implicit surface modeling using SDFs and procedural techniques). Houdini Apprentice License is free.

  • POV-Ray (Persistence of Vision Raytracer) has built-in support for defining complex implicit surfaces.

  • Vision-based surface reconstruction use implicit functions for statistical modelling of surfaces: SDFStudio, Geo-Neus, PointSDF, etc.

  • Various other software exist for polygonization of implicit surfaces, in context of Marching cubes, and in general Image-based meshing and, but they are not necessarily based on an algebraic closed-form field.

Industrial or commercial software using implicit surface software

  • Altair Inspire

  • Leapfrog, implicit geological modelling software by Seequent, widely used in mining and environmental applications.

  • Studio RM, geologic modelling software by Datamine Software, supports implicit surface generation for mineral resource estimation.

  • K-MINE, mining and geological modelling software that uses implicit surfaces for orebody modelling.

  • Maple has a library for plotting implicit surfaces.

See also

References

Further reading