Singularities:
A general problem of these polygonizers is that mostly do not deal with singularities very well. Any point on a parametric or implicit surface is singular if all partials are zero. Singular points are part of self-intersection of the surface or sharp edges on the surface. The following figures illustrated different kind of singularities.
The first is a cubic surface whose equation is
x2 + y3 - y2 + z2 = 0
The gradient of this surface is
(2x, 3y2 - 2y, 2z)
Thus, (0, 0, 0) is a singular point because at this point all of the components of the gradient are zero. It is the indicated point on the surface. Note down that there is another singular point at (0, 2/3, 0).
The middle figure contain an equation as follows :
- x3 + 2xz - yz2 = 0
This surface contain the following gradient vector
(- 2x2 + 2z, - 2yz, 2x - y2)
From the second component, we contain either y = 0 or z = 0. If y = 0, the third component forces x to be zero and therefore the primary component forces z to be zero. If z = 0, the first component forces x to be zero and the third component forces x to be zero. Both of the causes yield the singular point (0, 0, 0).
Whereas the primary two cases have only isolated singular points, singular points may be on a line or even on a curve. Consider the right figure above, which contain the following equation :
- x2 y + x2 - yz2 - z2 = 0
This surface contain the following gradient vector
(- 2xy + 2x, - (x2 + z2), - 2z)
If z = 0, the second component implies that x should also be zero. If x and z both are zero, the first component shall also be zero no matter what values y might have. It means that as long as x = z = 0 and y contain an arbitrary value we contain a singular point. Thus, the y-axis contains all of singular points. The figure illustrated three lines. However, all lie on the surface;, the vertical line is the y-axis that is also the self-intersection line containing all singular points.