Implicit surface
In mathematics, an implicit surface is a surface in Euclidean space defined by an equation
- [math]\displaystyle{ F(x,y,z)=0. }[/math]
An implicit surface is the set of zeros of a function of three variables. Implicit means that the equation is not solved for x or y or z.
The graph of a function is usually described by an equation [math]\displaystyle{ z=f(x,y) }[/math] and is called an explicit representation. The third essential description of a surface is the parametric one: [math]\displaystyle{ (x(s,t),y(s,t), z(s,t)) }[/math], where the x-, y- and z-coordinates of surface points are represented by three functions [math]\displaystyle{ x(s,t)\, , y(s,t)\, , z(s,t) }[/math] depending on common parameters [math]\displaystyle{ s,t }[/math]. Generally the change of representations is simple only when the explicit representation [math]\displaystyle{ z=f(x,y) }[/math] is given: [math]\displaystyle{ z-f(x,y)=0 }[/math] (implicit), [math]\displaystyle{ (s,t,f(s,t)) }[/math] (parametric).
Examples:
- The plane [math]\displaystyle{ x+2y-3z+1=0. }[/math]
- The sphere [math]\displaystyle{ x^2+y^2+z^2-4=0. }[/math]
- The torus [math]\displaystyle{ (x^2+y^2+z^2+R^2-a^2)^2-4R^2(x^2+y^2)=0. }[/math]
- A surface of genus 2: [math]\displaystyle{ 2y(y^2-3x^2)(1-z^2)+(x^2+y^2)^2-(9z^2-1)(1-z^2)=0 }[/math] (see diagram).
- The surface of revolution [math]\displaystyle{ x^2+y^2-(\ln(z+3.2))^2-0.02=0 }[/math] (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 describes conditions under which an equation [math]\displaystyle{ F(x,y,z)=0 }[/math] can be solved (at least implicitly) for x, y or z. 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.
If [math]\displaystyle{ F(x,y,z) }[/math] is polynomial in x, y and z, 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
Throughout the following considerations the implicit surface is represented by an equation [math]\displaystyle{ F(x,y,z)=0 }[/math] where function [math]\displaystyle{ F }[/math] meets the necessary conditions of differentiability. The partial derivatives of [math]\displaystyle{ F }[/math] are [math]\displaystyle{ F_x,F_y,F_z,F_{xx},\ldots }[/math].
Tangent plane and normal vector
A surface point [math]\displaystyle{ (x_0, y_0,z_0) }[/math] is called regular if and only if the gradient of [math]\displaystyle{ F }[/math] at [math]\displaystyle{ (x_0, y_0,z_0) }[/math] is not the zero vector [math]\displaystyle{ (0, 0, 0) }[/math], meaning
- [math]\displaystyle{ (F_x(x_0,y_0,z_0),F_y(x_0,y_0,z_0),F_z(x_0,y_0,z_0))\ne (0,0,0) }[/math].
If the surface point [math]\displaystyle{ (x_0, y_0,z_0) }[/math] is not regular, it is called singular.
The equation of the tangent plane at a regular point [math]\displaystyle{ (x_0,y_0,z_0) }[/math] is
- [math]\displaystyle{ F_x(x_0,y_0,z_0)(x-x_0)+F_y(x_0,y_0,z_0)(y-y_0)+F_z(x_0,y_0,z_0)(z-z_0)=0, }[/math]
and a normal vector is
- [math]\displaystyle{ \mathbf n(x_0,y_0,z_0)=(F_x(x_0,y_0,z_0),F_y(x_0,y_0,z_0),F_z(x_0,y_0,z_0))^T. }[/math]
Normal curvature
In order to keep the formula simple the arguments [math]\displaystyle{ (x_0,y_0,z_0) }[/math] are omitted:
- [math]\displaystyle{ \kappa_n = \frac{\mathbf v^\top H_F\mathbf v}{\|\operatorname{grad} F\|} }[/math]
is the normal curvature of the surface at a regular point for the unit tangent direction [math]\displaystyle{ \mathbf v }[/math]. [math]\displaystyle{ H_F }[/math] is the Hessian matrix of [math]\displaystyle{ F }[/math] (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 electrical potential of a point charge [math]\displaystyle{ q_i }[/math] at point [math]\displaystyle{ \mathbf p_i=(x_i,y_i,z_i) }[/math] generates at point [math]\displaystyle{ \mathbf p=(x,y,z) }[/math] the potential (omitting physical constants)
- [math]\displaystyle{ F_i(x,y,z)=\frac{q_i}{\|\mathbf p -\mathbf p_i\|}. }[/math]
The equipotential surface for the potential value [math]\displaystyle{ c }[/math] is the implicit surface [math]\displaystyle{ F_i(x,y,z)-c=0 }[/math] which is a sphere with center at point [math]\displaystyle{ \mathbf p_i }[/math].
The potential of [math]\displaystyle{ 4 }[/math] point charges is represented by
- [math]\displaystyle{ F(x,y,z)=\frac{q_1}{\|\mathbf p -\mathbf p_1\|}+ \frac{q_2}{\|\mathbf p -\mathbf p_2\|}+ \frac{q_3}{\|\mathbf p -\mathbf p_3\|}+\frac{q_4}{\|\mathbf p -\mathbf p_4\|}. }[/math]
For the picture the four charges equal 1 and are located at the points [math]\displaystyle{ (\pm 1,\pm 1,0) }[/math]. The displayed surface is the equipotential surface (implicit surface) [math]\displaystyle{ F(x,y,z)-2.8=0 }[/math].
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
- [math]\displaystyle{ \begin{align} F(x,y,z) = {} & \Big( \sqrt{(x-1)^2+y^2+z^2}\cdot \sqrt{(x+1)^2+y^2+z^2} \\ & \qquad \cdot \sqrt{x^2+(y-1)^2+z^2}\cdot\sqrt{x^2+(y+1)^2+z^2} \Big) \end{align} }[/math]
the constant distance product surface [math]\displaystyle{ F(x,y,z)-1.1=0 }[/math] is displayed.
Metamorphoses of implicit surfaces
A further simple method to generate new implicit surfaces is called metamorphosis of implicit surfaces:
For two implicit surfaces [math]\displaystyle{ F_1(x,y,z)=0, F_2(x,y,z)=0 }[/math] (in the diagram: a constant distance product surface and a torus) one defines new surfaces using the design parameter [math]\displaystyle{ \mu \in [0,1] }[/math]:
- [math]\displaystyle{ F(x,y,z)=\mu F_1(x,y,z)+(1-\mu)F_2(x,y,z)=0 }[/math]
In the diagram the design parameter is successively [math]\displaystyle{ \mu=0, \, 0.33, \, 0.66, \, 1 }[/math] .
Smooth approximations of several implicit surfaces
[math]\displaystyle{ \Pi }[/math]-surfaces [1] can be used to approximate any given smooth and bounded object in [math]\displaystyle{ R^3 }[/math] 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 [math]\displaystyle{ f_i\in\mathbb{R}[x_1,\ldots,x_n](i=1,\ldots,k) }[/math]. Then, the approximating object is defined by the polynomial
- [math]\displaystyle{ F(x,y,z) = \prod_i f_i(x,y,z) - r }[/math][1]
where [math]\displaystyle{ r\in\mathbb{R} }[/math] stands for the blending parameter that controls the approximating error.
Analogously to the smooth approximation with implicit curves, the equation
- [math]\displaystyle{ F(x,y,z)=F_1(x,y,z)\cdot F_2(x,y,z)\cdot F_3(x,y,z) -r= 0 }[/math]
represents for suitable parameters [math]\displaystyle{ c }[/math] smooth approximations of three intersecting tori with equations
- [math]\displaystyle{ \begin{align} F_1=(x^2+y^2+z^2+R^2-a^2)^2-4R^2(x^2+y^2)=0, \\[3pt] F_2=(x^2+y^2+z^2+R^2-a^2)^2-4R^2(x^2+z^2)=0, \\[3pt] F_3=(x^2+y^2+z^2+R^2-a^2)^2-4R^2(y^2+z^2)=0. \end{align} }[/math]
(In the diagram the parameters are [math]\displaystyle{ R=1, \, a=0.2, \, r=0.01. }[/math])
Visualization of implicit surfaces
There are various algorithms for rendering implicit surfaces,[2] including the marching cubes algorithm.[3] 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.[4] The intersection points can be approximated by sphere tracing, using a signed distance function to find the distance to the surface.[5]
See also
References
- ↑ 1.0 1.1 Adriano N. Raposo; Abel J.P. Gomes (2019). "Pi-surfaces: products of implicit surfaces towards constructive composition of 3D objects". WSCG 2019 27. International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision.
- ↑ Jules Bloomenthal; Chandrajit Bajaj; Brian Wyvill (15 August 1997). Introduction to Implicit Surfaces. Morgan Kaufmann. ISBN 978-1-55860-233-5. https://books.google.com/books?id=T3SSqIVnS4YC&q=%22implicit+surface%22+rendering.
- ↑ Ian Stephenson (1 December 2004). Production Rendering: Design and Implementation. Springer Science & Business Media. ISBN 978-1-85233-821-3. https://books.google.com/books?id=krTfLA5b940C.
- ↑ Eric Haines, Tomas Akenine-Moller: Ray Tracing Gems, Springer, 2019, ISBN:978-1-4842-4427-2
- ↑ Hardy, Alexandre; Steeb, Willi-Hans (2008) (in en). Mathematical Tools in Computer Graphics with C# Implementations. World Scientific. ISBN 978-981-279-102-3. https://books.google.com/books?id=IGtIWmM2GWIC&dq=%22sphere+tracing%22&pg=PA369.
Further reading
- Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms, 2009, Springer-Verlag London, ISBN:978-1-84882-405-8
- Thorpe: Elementary Topics in Differential Geometry, Springer-Verlag, New York, 1979, ISBN:0-387-90357-7
External links
- Sultanow: Implizite Flächen
- Hartmann: Geometry and Algorithms for COMPUTER AIDED DESIGN
- GEOMVIEW
- K3Dsurf: 3d surface generator
- SURF: Visualisierung algebraischer Flächen
Original source: https://en.wikipedia.org/wiki/Implicit surface.
Read more |