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.
The graph of a function is usually described by an equation and is called an explicit representation. The third essential description of a surface is the parametric one:
, where the -, - and -coordinates of surface points are represented by three functions depending on common parameters. Generally the change of representations is simple only when the explicit representation is given: , .
Examples:
- The plane
- The sphere
- The torus
- A surface of genus 2: .
- The surface of revolution .
The implicit function theorem describes conditions under which an equation can be solved 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. But they have an essential drawback: their visualization is difficult.
If 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 and practically interesting surfaces.
Formulas
Throughout the following considerations the implicit surface is represented by an equationwhere function meets the necessary conditions of differentiability. The partial derivatives of
are.
Tangent plane and normal vector
A surface point is called regular if and only if the gradient of at is not the zero vector, meaningIf the surface point is not regular, it is called singular.
The equation of the tangent plane at a regular point is
and a normal vector is
Normal curvature
In order to keep the formula simple the arguments are omitted:is the normal curvature of the surface at a regular point for the unit tangent direction. is the Hessian matrix of .
The proof of this formula relies 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 on simple primitives.Equipotential surface of point charges
The electrical potential of a point charge at point generates at point the potentialThe equipotential surface for the potential value is the implicit surface which is a sphere with center at point.
The potential of point charges is represented by
For the picture the four charges equal 1 and are located at the points
. The displayed surface is the equipotential surface .
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 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
the constant distance product surface is displayed.
Metamorphoses of implicit surfaces
A further simple method to generate new implicit surfaces is called metamorphosis or homotopy of implicit surfaces:For two implicit surfaces one defines new surfaces using the design parameter :
In the diagram the design parameter is successively .
Smooth approximations of several implicit surfaces
-surfaces can be used to approximate any given smooth and bounded object in whose surface is defined by a single polynomial as a product of subsidiary polynomials. In other words, we can design any smooth object with a single algebraic surface. Let us denote the defining polynomials as. Then, the approximating object is defined by the polynomialwhere stands for the blending parameter that controls the approximating error.
Analogously to the smooth approximation with implicit curves, the equation
represents for suitable parameters 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 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:- — A program to visualize and manipulate Mathematical models in 3-6 dimensions. K3DSurf supports Parametric equations and Isosurfaces
- CGAL, written in C++, has strong support for implicit surface modeling.
- 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.
- SculptsFEM
- ImpliSolid, supports sharp edges.
- Houdini. Houdini Apprentice License is free.
- POV-Ray 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 Category:Mesh generation, 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.