Hybrid Symbolic and Numeric Operators as Tools for Analysis of Freeform Surfaces

Hybrid Symbolic and Numeric Operators
Tools for Analysis of Freeform Surfaces
Gershon Elbery and Elaine Cohen
Computer Science Department,
University of Utah
November 5, 1992
Freeform surfaces are commonly used in Computer Aided Geometric Design,
so accurate analysis of surface properties is becoming increasingly important. In
this paper we dene surface slope and surface speed, develop visualization tools,
and demonstrate that they can be useful in the design process. Generally, surface
properties such as curvature and twist are evaluated at a nite set of predetermined
samples on the surface. This paper takes a dierent approach. A small set of tools
is used to symbolically compute surfaces representing curvature, twist and other
properties. These surfaces are then analyzed using numeric techniques.
The combination of symbolic computation to provide an exact property representation (up to machine accuracy) and numerical methods to extract data is
demonstrated to be powerful and robust. This approach supports a uniform treatment once the surfaces are computed and also provides global information, so
questions such as `is a surface developable?' or `what are the hyperbolic regions of
a surface?' can be answered robustly.
1 Introduction
Sculptured surface representations are fundamental forms in computer graphics and in
computer aided geometric design. During dierent stages of modeling with sculptured
This work was supported in part by DARPA (N00014-91-J-4123) . All opinions, ndings, conclusions
or recommendations expressed in this document are those of the authors and do not necessarily reect
the views of the sponsoring agencies.
y Appreciation is expressed to IBM for partial fellowship support of the rst author.
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 1: Surface curvature bounds computed at a predened grid (See also gure 15).
surfaces, quite a few properties of the surfaces may be of interest to the designer or
required for a proper design. The designer may need to isolate regions with surface
slopes, dened in this paper, which are too high or too low, to detect all regions with
twists larger than prespecied values, to have a visual bound on the distance traveled
in the Euclidean domain while moving in the parametric domain (which we refer to as
speed bound), or even to isolate all the hyperbolic (saddle) regions in the model.
Previous work directed at computing rst and second order surface properties evaluated them over a discrete grid. Normals were computed and visualized by drawing them
as arrows, called \hedgehogs" 20], over the grid. There have been attempts 1, 2, 3, 11]
to understand and compute second order surface properties such as mean and Gaussian
curvatures, as well as twist, by evaluating them over the predened grid (gure 1).
Given a surface S (u v), there is no common method to accurately subdivide S into
convex, concave, and saddle regions. Using symbolic tools developed in section 2 this
trichotomy becomes feasible 13], as is demonstrated in section 3.
Symbolic and Numeric Operators
G. Elber and E. Cohen
In section 2 we describe the required symbolic computation tools so properties such as
Gaussian curvature, surface normal, surface slope, surface twist, and surface speed bound
may be computed and represented as freeform surfaces. We call such derived surfaces
property surfaces. We emphasize the NURBs and Bezier representations although other
representations could be used, including any (piecewise) polynomial or (piecewise) rational representations. In section 3 we apply these tools to some examples and demonstrate
their eectiveness. Visualization is used extensively in the section to communicate the
relationship these properties have with the shape of the surface.
2 Background
Surprisingly enough the set of symbolic tools one needs for the analysis treated here is
small. One needs to have representations for the derivative, sum, dierence, and product
of scalar curves and surfaces. Any manipulation of curves or surfaces using these tools
will result in a curve or a surface of the same type. The resulting curve or surface is
exact to within the accuracy of the numerical computation, since these operation have
closed forms and are, in fact, symbol manipulators. Therefore, we refer to the usage of
these tools as symbolic computation.
Contouring will also be used as a tool to extract information from the symbolically
computed property surfaces.
Symbolic and Numeric Operators
G. Elber and E. Cohen
2.1 Symbolic Tools
Given a Bezier or NURBs curve, the form of the derivative as a curve in vector space is
well known 8],
;2 (P ; P )
dC (t) = d Pmi=0;1 PiBik (t) = (k ; 1) mX
i k ;1
Bi (t)
i=0 ti+k ; ti
and this result easily extends to tensor product surfaces.
The symbolic computation of sum and/or dierence of two scalar Bezier or NURBs
curves is achieved by computing the sum and/or dierence of their respective control
points 8, 9, 14], once the two curves are in the same space. This requirement can be
met by representing them as curves with the same order (using degree raising 5, 6] on
the lower order one, if necessary) and the same continuity (using renement 7] of knot
vectors for NURBs).
C1(t) C2(t) =
Pi Bi (t) QiBik (t)
PiBik (u) QiBik (u)
(Pi Qi) Bik (u):
This result easily extends to tensor product surfaces as well.
Representation for product of scalar curves is the last requirement. For Bezier
curves 9, 8],
Symbolic and Numeric Operators
G. Elber and E. Cohen
PiBim(t) Qj Bjn (t)
j =0
m X
Pi Qj Bim(t)Bjn(t)
i=0 j =0
m n
m X
i j m+n
Pi Qj m+n Bi+j (t)
C1(t)C2(t) =
i=0 j =0
Rk Bkm+n (t)
Rk =
i j
+j =k
m n
PiQj im+nj
This result can also be extended to tensor product surfaces. It is also necessary to
represent scalar products as part of representing sums and dierences of rational curves
and surfaces, as well as derivatives of rationals.
Finding a representation for the product of NURBs is far more dicult. A direct
algorithmic approach has recently been developed 17] which supports symbolic computation of the coecients of the product after nding the knot vector of the product
curve. However, since it is computationally expensive and complex to implement, one
might choose to exploit the B-spline representation uniqueness property and compute
the coecients of the product by solving an equivalent interpolation problem 14].
2.2 Contouring operator
It is frequently useful to know the zero set of a property surface or to have all regions
in which the values of the property is larger than some threshold, either for itself or to
Symbolic and Numeric Operators
G. Elber and E. Cohen
use in further analysis. Contours in the parameter space of the property surface can be
used as trimming curves for the original surface 15], so the trimmed surface will consist
of all regions of the original surface with property values larger (or smaller) than the
contouring level. The problem of computing the contours is closely related to nding
surface-surface intersections and ray-surface intersections 18], problems with inherent
numerical complexities and instabilities.
Let F (u v) = ( wx((uu vv))
y (u v ) z (u v )
w(u v) w(u v) )
and P = Ax + By + Cz + D = 0 be the property
surface and the contouring plane, respectively. By substituting the components of F (u v)
into P one can solve for all values of u and v in the parametric domain for which F (u v) \
P 6= .
S (u v) = A wx((uu vv)) + B wy((uu vv)) + C wz((uu vv)) + D
(u v) + Dw(u v)
= Ax(u v) + By(u vw)(+u Cz
A single NURBs surface representation for equation 4 can be found using the operations dened in section 2.1, namely surface addition and surface multiplication. The zero
set of the surface S (u v), in equation 4, is the set of parametric values for the required
intersection. Since both F (u v) and S (u v) share the same parametric domain, mapping
the parametric domain information back to F (u v) is trivial. S (u v) is a scalar surface,
which leads to a simpler and faster computation. Assuming w(u v) 6= 0, the zero set
of S (u v) can be computed using only the numerator of S (u v). Thus, even if F (u v)
is a rational surface, contouring computations can be performed on scalar polynomial
Symbolic and Numeric Operators
G. Elber and E. Cohen
In the following section, the tools dened in this section will be used. The four
basic operations for surfaces: addition, subtraction, multiplication, and division will be
combined with dierentiation to dene or approximate property surfaces, as necessary.
Then the contouring algorithm will be used to analyze and extract useful information
from them.
3 Examples
3.1 Surface slopes
The slope of a planar curve at a given point is equal to the angle between the tangent
to the curve and a reference line, usually the horizontal axis. In an analogous way we
dene the surface slope at a given point, p, as the angle between the plane tangent to the
surface at p and a reference plane. Without loss of generality, in the discussion below we
assume that the reference plane is the xy plane.
Since the angle between two planes, is equal to the angle between their two normals,
to compute surface slope, one need only compute the angle between the surface normal
and the z axis. Let n be the surface unit normal and let nz be its z component. Then,
the tangent of the slope angle P is equal to:
tan(P ) =
1 ; n2z
nz :
When nz = +1 the surface orientation is horizontal. If nz = 0 the surface is vertical,
and nally if nz = ;1 that surface is horizontal again, but this time facing down.
Symbolic and Numeric Operators
G. Elber and E. Cohen
Inspection of the surface unit normal equation shows that n(u v) cannot be computed
directly using the symbolic tools of section 2.1 because of the need to determine the square
root. However, the z component of the unnormalized normal surface, n^ , is equal to:
(u v) @y(u v) ; @y(u v) @x(u v)
n^z (u v) = @[email protected]
where x(u v) and y(u v) are the x and y components of surface S (u v).
Then, nz (u v) = n^ z (u v)=kn^(u v)k, where kn^ (u v)k is the magnitude of n^(u v)
Even though nz (u v) contains a square root factor, it is a scalar function, and can be
squared so that nz (u v)2 can be represented.
Given a slope P in degrees (or radians) the conversion to the n2z (u v) value required
is straightforward using equation 5. Therefore, given a certain slope P , one can compute
the required nz and n2z using equation 5. Since n2z is representable using (piecewise)
rationals, one can contour this surface at the required n2z level. Figure 2 demonstrates
this exact process for several levels.
Alternatively, one can use the symbolically computed property n2z (u v) as a scalar
map designating the color of the surface at each location, much like a texture map.
Figure 3 is an example for this approach, for the same surface as in gure 2.
The technique presented here has also been used to compute silhouette curves of
surfaces 12], and is equivalent to the zero set of equation 6. n^z (u v) is symbolically
computed and its intersection (contouring) with the plane Z = 0 provides the required
silhouette curves in parametric space. Figure 4 shows one such example.
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 2: Dierent Slope or Steepness regions of the surface
Figure 3: Continuous steepness of the surface in gure 2
Unlike curvature, slope is not an intrinsic surface property. In fact, since it is orientation dependent, it provides the designer with a measure on the planarity of the surface
as well as on its orientation.
3.2 Surface Speed
The speed of a curve is dened as the distance moved in Euclidean space per unit of
movement in parameter space. For a curve,
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 4: Silhouettes are equivalent to the zero set of equation 6 (rotated).
S (t) = dt v
!2 !2 !2
dx + dy + dz :
We dene the speed bound of surface S (u v) as the supremum of the speeds of all
curves on the unit circle of the tangent plane using the rst partials as a basis.
Let (t) be a curve in the parametric domain of S (u v), that is (t) = (u(t) v(t)).
By providing this speed bound of the surface parametrization, one can compute certain
properties on (t) and use the speed bound to extrapolate and provide bounds on the
properties on the composed curve S = S (u(t) v(t)).
Let (t) be an auxiliary arc length parametrized curve with its image in the parametric
r 2
space of S (u v), i.e. (t) = (u(t) v(t)), with dudt + dvdt = 1, for all t. Then
Symbolic and Numeric Operators
G. Elber and E. Cohen
dS (u(t) v(t)) dt
= @u dt + @v dt !2 !2 !2
= @u dt + @v dt + @u dt + @v dt + @u dt + @v dt
!2 !2 !2 !2 !2 !2
@x + @x + @y + @y + @z + @z
@x du + @x dv
@u dt @v dt
If @S
@u =
! !!
@x @x du dv 2
@u @v
dt dt
! !2
@x @x du dv @u @v
dt dt !2 !2
@x @x du dv @u @v dt dt !2
@x @x @u @v !2 !2
@x + @x
(see gure 5 with collinear partials along the surface boundary, which
implies the surface is not regular there) and dudt = dvdt , then
! !2
! !2
@x @x du dv = @x @x du dv @u @v
@u @u
dt dt dt dt !2
= @u (1 ) dt dt 2
= @x (1 + 2)
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 5: Degenerated boundary provides the two extremes on speed bound.
!2 !2
= @x
and the upper bound established in equation 8 is reached. Therefore, this bound is
Since it is not possible to represent the square root of equation 8 as a (piecewise)
rational surface, in general, we compute instead
0 !2 !2 !2 !2 !2 !21
@x + @y + @z + @x + @y + @z A : (11)
S^(u v) = @ @u
Figures 6 and 7 are two examples of using S^(u v) to compute a speed bound on the
The speed surface can be used to provide a measure on the quality of the parametrization. This can becomes especially important if the surface is to be evaluated (for any
purpose, including rendering) at a predened set of parameter values.
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 6: Parametrization speed estimate for a surface (same as gure 2).
Figure 7: Parametrization speed estimate for the teapot model.
3.3 Variations on Surface Twist
Also interesting is the ability to visualize surface twist. Basically, the twist is dened as
the cross derivative component:
S (u v ) :
T (u v) = @ @[email protected]
This equation is representable and can always be computed symbolically for (piece-
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 8: Twist component of a surface (same as gure 2).
Figure 9: Twist component of a at surface.
wise) rationals. Figures 8, 9 and 10 shows this property as a texture mapped on the
Using equation 12 as a twist measure has a major drawback as can be seen in gure 9.
Even though the surface is at, the twist component is not zero since the speed of the
parametrization is changing. In other words, the mapping from the parametric space to
the Euclidean space is not isometric. It would be more helpful to use the twist component
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 10: Twist component of the teapot model.
in only the surface normal direction (see 1]) to eliminate the twist as a result of a non
isometric mapping.
l12 = l21 = n @[email protected]
where l12, and = l21 are two of the components of second fundamental matrix form, L
(see 4, 16, 19]).
Obviously, this time the l12 component in the at surface in gure 9 is zero showing
no twist in the normal direction. Furthermore, the use of this property showed that the
teapot has virtually no twist in the normal direction as well. All the twist in gure 10
was a result of the nonisometric mapping. Figure 11 shows a nonplanar surface, similar
to the one in gure 9 using l12 as property surface mapping colors onto the surface, as
Since now one can compute both the total twist (equation 12), and the twist in the
normal direction (equation 13), one can consider computing the twist in the tangent
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 11: Twist component of a nonplanar twisted surface.
plane to the surface as the dierence of the two quantities. This dierence would provide
another measure as to the quality of the surface parametrization.
3.4 Surface Trichotomy
It is frequently desired to provide a bound on the angularity of a surface. It is also desired
in some cases to detect and isolate concave or convex regions. In 5-axis NC milling, a
at end cutter is usable only for the convex part of the surface.
In 4, 13] it is shown that one of the principal curvatures must be zero along the
boundaries of convex, concave, or saddlelike regions and that this immediately necessitates that kLk = 0 where kLk is the determinant of the second fundamental matrix form.
It is also shown in 13] that the zero set of kL^ k can be used instead where
@[email protected] 7
^L = (lij ) = 66
n^ @[email protected]
n^ @@v2S2
and n^ is the unnormalized normal n^ (u v) = @S
@u @v to the surface.
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 12: Bicubic surface with convex and concave regions meet at a single point (top).
The surface second fundamental form property surface and its zero set (bottom). This
surface is the same as in gure 2.
Each element of L^ is representable as a NURBs, using the tools developed in section 2.
The bottom of gure 12 shows the scalar surface kL^ k with the zero plane and their
intersection. The top of gure 12 uses these intersection curves to form the surface
trichotomy into convex (red), concave (green), and saddle (yellow) trimmed regions.
Figure 13 demonstrates this method on a more realistic object. The teapot trichotomy
degenerates into a dichotomy since no concave regions exist in the teapot model.
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 13: Teapot trichotomy is degenerated into a ditochomy - no concave regions exist.
Finally it is interesting to note that a sucient condition for a surface to be developable 10] is that its Gaussian curvature is zero everywhere, i.e. K (u v) 0. Since
K (u v) = kkGLkk , where G is the rst fundamental form, this condition is equivalent to the
condition that kLk 0, for regular surfaces when kGk 6= 0. A simple practical test that
can answer whether a surface is developable or not is to symbolically compute and compare each of kLk coecients to zero. Figure 14 shows two developable NURBs surfaces,
one ruled along an isoparametric direction while the other is not.
3.5 Bounding the Curvature
In 13] it is suggested that the sum of the squares of the principal curvatures may be a
relevant measure of shape and can be represented as
= (1n )2 + (2n)2
^ ^
^ 2
= (g11l22 + l11g22k;Gk22gk12n^lk122) ; 2kGkkLk
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 14: Two developable surfaces, the top is ruled along isoparametric direction and
the bottom is not.
where G is the rst fundamental matrix form 4, 16, 19].
is bounded to be at most 2 larger than the larger absolute value of the two principal
curvatures. Furthermore, can be represented using the tools described in section 2. In
gures 14 and 15 the property has been computed for developable surfaces and for the
teapot model respectively and used as a texture mapped through a color map table.
Figure 16 shows a surface subdivided into regions based on . The property surface
(u v) of the surface in gure 16 is contoured in gure 17 and regions with dierent
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 15: Teapot curvature estimation using curvature property surface computation.
Figure 16: The surface is subdivided into regions with dierent curvature bounds.
curvature bounds are formed.
4 Conclusions
Surfaces derived from both rst and second order analysis of sculptured surfaces are represented as NURBs surfaces using a small set of operators. We show that a combination
of symbolic and numeric operators can be used to globally represent, approximate, or
analyze these property surfaces. Other properties that cannot be represented as piece-
Symbolic and Numeric Operators
G. Elber and E. Cohen
Figure 17: Curvature surface bound, , of the surface in gure 16.
wise rationals have approximations that bound these properties and are representable.
Further, we introduce two new derived surfaces to help visualizing and understanding
surface shapes - speed and slope.
The full power of the NURBs representation can be used to analyze and to globally
determine characteristics of these derived surfaces, which can then be used to visualize
results or for feedback into design. For the rst time the designer can guarantee that the
steepness of the whole surface will be less than a specied slope or that a whole surface
will have speed bound smaller than a specied value.
We show that symbolic computation supports robust computation and simplies visualization of surface properties. Its usefulness is demonstrated in 14] for applications
from error bound for oset approximation to adaptive and almost optimal toolpaths for
Symbolic and Numeric Operators
G. Elber and E. Cohen
machining purposes, as well as the surface analysis discussed in this paper.
1] R. E. Barnhill, G. Farin, L. Fayard and H. Hagen. Twists, Curvatures and Surface
Interrogation. Computer Aided Design, vol. 20, no. 6, pp 341-346, July/August
2] J. M. Beck, R. T. Farouki, and J. K. Hinds. Surface Analysis Methods. IEEE
Computer Graphics and Applications, Vol. 6, No. 12, pp 18-36, December 1986.
3] J. C. Dill. An Application of Color Graphics to the Display of Surface Curvature.
Siggraph 1981, pp 153-161.
4] M. D. Carmo. Dierential Geometry of Curves and Surfaces. Prentice-Hall 1976.
5] E. Cohen, T. Lyche, and L. Schumaker. Degree Raising for Splines. Journal of
Approximation Theory, Vol 46, Feb. 1986.
6] E. Cohen, T. Lyche, and L. Schumaker. Algorithms for Degree Raising for Splines.
ACM Transactions on Graphics, Vol 4, No 3, pp.171-181, July 1986.
7] E. Cohen, T. Lyche, and R. Riesenfeld. Discrete B-splines and subdivision Techniques in Computer-Aided Geometric Design and Computer Graphics. Computer
Graphics and Image Processing, 14, 87-111 (1980).
8] G. Farin. Curves and Surfaces for Computer Aided Geometric Design. Academic
Press, Inc. Second Edition 1990.
Symbolic and Numeric Operators
G. Elber and E. Cohen
9] R. T. Farouki and V. T. Rajan. Algorithms For Polynomials In Bernstein Form.
Computer Aided Geometric Design 5, pp 1-26, 1988.
10] I. D. Faux and M. J. Pratt. Computational Geometry for Design and Manufacturing.
11] A. R. Forrest. On the Rendering of Surfaces. Siggraph 1979, pp 253-259.
12] G. Elber and E. Cohen. Hidden Curve Removal for Free Form Surfaces. Siggraph
90, pp 95-104.
13] G. Elber and E. Cohen. Second Order Surface Analysis Using Hybrid Symbolic and
Numeric Operators. Submitted for Publication.
14] G. Elber. Free Form Surface Analysis using a Hybrid of Symbolic and Numeric
Computation. Ph.D. thesis, University of Utah, Computer Science Department,
15] T. McCollough. Support for Trimmed Surfaces. M.S. thesis, University of Utah,
Computer Science Department, 1988.
16] Millman and Parker. Elements of Dierential Geometry. Prentice Hill Inc., 1977.
17] K. Morken. Some Identities for Products and Degree Raising of Splines. To appear
in the journal of Constructive Approximation.
18] J. T. Kajiya. Ray Tracing Parametric Patches. Siggraph 1982, pp 245-256.
19] J. J. Stoker. Dierential Geometry. Wiley-Interscience 1969.
Symbolic and Numeric Operators
G. Elber and E. Cohen
20] D. L. Schwitzer. Interactive Surface Visualization Using Raster Graphics. Ph.D.
dissertation, University of Utah, August 1983.
Related flashcards

Shades of brown

42 cards


32 cards

Shades of red

41 cards

Adobe Flash

31 cards

Rendering systems

22 cards

Create Flashcards