Implicit Surfaces:
Let us turn to implicit surfaces. Implicit surfaces are extremely useful in modelling. For instance, suppose we are given two surfaces and desire to determine a third one that can smoothly joining the given surfaces together. This procedure is called blending and the third surface is a blending surface of the given surfaces. Of course this blending surface is not unique and is usually in an implicit form. The following figure illustrates a blending surface (in yellow) that blends the green & the blue surfaces. The blending surface gives a smooth transition from the green surface to the blue.
Additionally to blending, several applications & computations such like offsetting naturally generate algebraic surfaces. Actually, in several cases, algebraic surfaces are extremely useful. Point classification is a good instance. Point classification finds out if a given point lies inside, on or outside of a surface. This is not easy to design an algorithm for parametric surface; though, for implicit surfaces this is a simple matter. Imagine the given point is (a, b, c) and the implicit surface is specified by p(x, y, z) = 0. Then, if p(a, b, c) is greater than, equal to or less than zero, (a, b, c) lies outside, on or inside of the surface.
Additionally to blending, several applications & computations such like offsetting naturally generate algebraic surfaces. Actually, in several cases, algebraic surfaces are extremely useful. Point classification is a good instance. Point classification finds out if a given point lies inside, on or outside of a surface. This is not easy to design an algorithm for parametric surface; though, for implicit surfaces this is a simple matter. Imagine the given point is (a, b, c) and the implicit surface is specified by p(x, y, z) = 0. Then, if p(a, b, c) is greater than, equal to or less than zero, (a, b, c) lies outside, on or inside of the surface.
One may easily calculated the normal vector of an algebraic surface. Actually, the formal vector of a polynomial p(x, y, z) = 0 is just its gradient:
Δ( p) = (∂p / ∂x , ∂p /∂y , ∂p /∂z)
Once we contain the normal vector at a point, the tangent plane may be easily computed.