Singularities

As mentioned above, the rational Bezier surface may be represented by a matrix of 3D points and corresponding weights. Quite apparently, merging a point of the control grid with its neighbour(s) in the same row or column results in zero component of the surface gradient at that point in the corresponding (degenerated) direction. A typical example may be a biquadratic triangular patch representing one octant of a sphere (Fig. 6a), where three points associated to the top side of the control grid are identical, or a badly parameterized rectangle (Fig. 6b) where two neighbouring control points in each row coincide. While the principal directions at such a point coincide with the directions of parametric curves, no stretch in the degenerated direction can be calculated because of the zero gradient component. This complicates seriously the calculation of the ellipse of stretches not only at these points but also in their vicinity where the values of the stretch in the crucial direction are not infinite but are still too high to be handled numerically.

These difficulties have to be solved by a particular
implementation. One possible remedy of this problem arises from the fact
that the singular case usually occurs only at the boundary of the
surface,^{2} it means at the base of triangles to
be generated along this boundary. However, there is no rigorous reason why to
construct the ellipse of stretches just at the base of the tentative
triangle. The idea to construct the ellipse somewhere around
its barycenter sounds much more reasonable.
A simple situation of this type is outlined in Figure 7.
The parametric space with tentative triangles (two cases (a) and (b) are
considered) is depicted on the left-hand side of the figure. On the
right-hand side, the theoretical element spacing in the direction is drawn,
which reveals an intensive singularity along the bottom side () of the
parametric space (compare with Fig. 6b). Since the stretch and
consequently the height of the triangle to be generated are not yet known,
an iterative approach is applied. In this approach, the element size
in the appropriate principal direction is gradually evaluated
(starting at the singular point and proceeding inside the domain)
until the calculated element spacing reaches the triple of the distance between
the point and the currently investigated point (ideally the
barycenter of the tentative triangle - point in case (a) in
Fig. 7). The stretch from this point
is then associated with the original point instead of the original
infinite stretch. If point is not reached (iteration process
propagates through the whole parametric space without convergence to
a reasonable stretch), a maximum possible element size is used. Numerical
experiments carried out show that rather than the barycenter it is
advisable to consider the middle point of the triangle median
as the representative point of the triangle (case (b) in
Fig. 7), which tends to produce slightly more
conservative stretches. This approach proved to
be quite satisfactory and it is also adopted for the evaluation of the
ellipse of stretches in the vicinity of singular points. However, the same
approach cannot work in cases, when all control points
corresponding to a side row or side column in the control grid are merged into
a single point (Fig. 6a). In such a case, the zero component of the surface
gradient is constant along the whole row or column, which essentially
eliminates the possibility of the application of the suggested iterative
approach. The solution of this problem consists in the fact that all triangles
generated in the parametric space from the boundary associated with the
merged control points will be degenerated into a line after being mapped
onto the original surface. It is therefore sufficient to
prescribe one (or more) triangle(s) along the whole length of the singular side in the
parametric space, for example in the form of an empty subregion that
is not subjected to the meshing (Fig. 8). The only
care must be taken to prescribe
appropriately the height of that triangle and to ensure that its edges
not coinciding with the singular side are topologically identical
when mapped back to the original surface.

- ...
surface,
^{2} - A singularity may also appear inside the surface. But if this is the case, the surface suffers from insufficient continuity and is generally not suitable for modeling.

*Daniel Rypl
2005-12-07*