Rotational and Helical Surface Approximation For Reverse Engineering
Rotational and Helical Surface Approximation For Reverse Engineering
© Springer-Verlag 1998
Printed in Austria
Abstract
Given a surface in 3-space or scattered points from a surface, we investigate the problem of deciding
whether the data may be fitted well by a cylindrical surface, a surface of revolution or a helical
surface. Furthermore, we show how to compute an approximating surface and put special emphasis
to basic shapes used in computer aided design. The algorithms apply methods of line geometry to
the set of surface normals in combination with techniques of numerical approximation. The
presented results possess applications in reverse engineering and computer aided manufacturing.
1. Introduction
We will deal here with a problem that arises in the context of reverse engineer-
ing of geometric models. The surface of a part may consist of different surface
types. There might be simple surfaces like planes, spheres, cones and cylinders
of revolution and tori. It might also contain more general surfaces of revolution,
general cylinders and helical surfaces and it might exhibit general freeform
surfaces. Both for the CAD representation and for the manufacturing of the
part, it is essential to recognize the simpler surface types and fit the given data,
usually clouds of points with measurement errors, by surfaces of the determined
type.
Since the simplest surface types are special cylinders or surfaces of revolution, it
seems to be important to recognize whether the given data can be fitted with a
cylinder or a surface of revolution. Our method then suggests to look more
308 H. Pottmann and T. Randrup
generally at helical surfaces. In view of the noise that may be contained in the
data, we avoid the use of estimates for second order derivatives and base our
method on the set of (estimated) surface normals at the given data points.
Let us briefly outline our method. A classical result states that the surfaces
whose normals lie in a linear line complex are exactly cylinders, surfaces of
revolution and helical surfaces. Using line geometric concepts, which are re-
viewed in Section 2, we determine an appropriate norm and the best approxima-
tion of the given normals by a linear complex. This amounts to the solution of a
general eigenvalue problem. If a good fit by a linear complex can be obtained, it
determines the generating motion M of an approximating surface. If M is close
to a pure rotation, we approximate by a surface of revolution, if M is close to a
pure translation, the approximant will be a cylinder and, otherwise, we get a
helical motion.
Having computed the motion M, we use it to project the data points with help
of the trajectories of M into an appropriate plane and obtain a cloud of points
that has to be fitted by a curve c. This is done with the method developed by T.
Randrup [17]. The appropriately trimmed path surface of c under the continu-
ous motion M gives a solution to the approximation problem.
We mention that a problem related to the current one has recently been
investigated by Elber and Kim [4]. The authors study the recognition of the
surface type of a rational B-spline surface, assuming the availability of an exact
rational B-spline representation [7], and thus higher order differential invariants
can be employed in the recognition algorithm.
2. Geometric Fundamentals
vt }
l . v - l l y + 12x + 13p = O,
i = ( * , * , 1 2 X - l l Y ) = ( * , *,16)
we see that the Pliicker coordinates (1, D = (ll .... , l 6) of the path normals satisfy
pl 3 + l 6 = O.
Thus, they lie in a linear line complex. A linear line complex C is a 3-parameter
set of lines whose Pliicker coordinates satisfy a linear homogeneous equation. It
may be written as
~-l+¢-i=0. (l)
We use the vector C = (~.,e ) E ~6 to represent the complex, with the under-
standing that ,tC, ,~ ~ 0, describes the same complex. In general, the lines of C
are the path normals of a certain helical motion, whose axis A = (a, ~) and pitch
310 H. Pottmann and T. Randrup
For c-~ = 0 we obtain p = 0 and Eq. (1) describes the path normals of the
1
continuous rotation around the axis A = ii-~(c, ~). These are exactly the lines
that intersect A or are parallel to A (Fig. 2).
Let us consider a surface S all whose normals belong to two different linear
complexes C1, C 2 (with homogeneous coordinate vectors C1, C 2 ~ R6). Then the
normals belong to a one-parameter family (pencil) of different linear complexes
C with coordinates C = o~C1 +/3C2, where a and /3 are homogeneous real
parameters with (c~, r ) ~ (0, 0). It is well-known that S must be either a cylinder
of revolution, a sphere or a plane. In the first case, the cylinder axis is the
common axis of the complexes C. The normals of a sphere pass through its
center m and thus lie in a two-parameter set of linear complexes with vanishing
pitch p, whose axes contain m. Analogously, we get a two-parameter set of
linear complexes containing the parallel normals of a plane. They either belong
to translations parallel to the plane or rotations around axes normal to the
plane.
I~-1 + e.il
r e ( L , C) := ]lcJJ for c ~ 0. (3)
I~.11
For e = 0, we define re(L, C) := I1~1--~-'i.e. the cosine of the angle between 1 and
Later we will have to interpret the size of certain distances compared to the size
of the object. Therefore, we use a scale adapted to the data; for example, the
maximum coordinate difference of input points is set to 1.
1 = Ilxll 2 =: X ~ . D - X . (6)
Because three diagonal elements in D are zero, this is just a cubic equation in
A. For any root A and corresponding general eigenvector X = (~, x) with Itxll = 1,
we have
F ( X ) = X r - N . X = AX T . D . X = A.
Therefore, all roots A are nonnegative and the solution C is a general eigenvector
to the smallest general eigenvalue A > O.
normals is
o-=
•/ k
A
5
In case of a sufficiently small deviation ~r, we use (2) to compute axis A and
pitch p of the corresponding helical motion M and get important information
for type recognition. The smaller the value of p, the better we may approximate
with a surface of revolution. A large value of p with a small rotational
component in the domain of interest indicates that one could work with a
cylindrical approximation. Then, we propose to correct the direction E of the
cylinder generators by minimizing E(~. ni) 2 over all unit vectors ~ ~ ~3. This is
an eigenvalue problem in ~3. For more details on cylindrical approximation, we
refer to T. Randrup [17], who studied the problem in connection with an
application in ship hull design.
Remark 1. It is important to note that for exact data from a cylinder, the normal
vectors ni are linearly dependent. Thus also u~, u 2, u 3 are linearly dependent
and d e t ( N - AD) = 0 for all A. Then, all coefficients in (8) vanish. Obviously,
this happens exactly for precise data from a cylinder, in particular from a plane.
For noisy data from cylinders or planes, we may face an instable determination
of the characteristic equation (8). Note also that the normalization condition (6)
already excludes pure translations as generating motions. Therefore, it is recom-
mended to check for planes or cylinders [17] before one runs our more general
algorithm.
The relative size of the roots 0 < h 1 </~2 -~</~3 of (8) also contains information
on the surface type.
1. For small A~ and A2, and a larger eigenvalue A3, we are near to a one-para-
meter set of solution complexes and thus the surface can be approximated
well by a cylinder of revolution. However, as we have noted above, if the data
are very close to cylindrical ones, we have a numerically unstable situation in
our general algorithm.
The same location of the eigenvalues and thus a one-parameter set of nearly
equally good fits can also occur for a smaller part of a pipe surface. A pipe
surface is the envelope of spheres of constant radius, whose centers lie on a
curve, called spine curve. The spheres touch the pipe surface along circles
(called characteristic circles) in the normal planes of the spine curve. At each
of its points (different from an inflection point) the spine curve has second
order contact with a one parameter set of helices and with a circle (osculating
circle). Therefore, along the corresponding characteristic circle the pipe
surface has second order contact with a one-parameter set of helical pipe
surfaces and with a torus. Thus, running our algorithm on data from a
smaller portion of a pipe surface leads to a one parameter family of well
approximating helical motions. We recommend, in this case, to use the two
nearly equally good solution complexes Ca, C 2 to the small eigenvalues A1, /~2
314 H. Pottmann and T. R a n d r u p
ni't i ~..ni -F c . f i i
cos 7/ Iltill 11~"+ c x dill"
Minimizing
k
G = E cos2ri
i=1
minimizes
k
F := 2 ( r2 + p 2 ) cos2%,
i=1
where r~ is the distance of the data point d i to the helical axis. This is a
reasonable and geometrically meaningful simplification of G ~ min. In fact,
using a weight iteration as described in Remark 2, one can compensate this
weighting and, thereby, numerically solve the more involved minimization of G.
4. Surface Approximation
For constructing an approximating curve e of the points Pi, we use the method
devised by T. Randrup [17]. Consider a grid structure in the plane ~r. Each
square in this grid is associated with the value 1 if the intersection between the
square and the points p~ is non-empty. Otherwise the value 0 is associated. The
rectangular array of these values represents a (finite) digital plane [19]. The
subset of points in the digital plane with value 1 is a digital set D. Then we apply
a thinning operator to this digital set and obtain a thin subset of D.
There exist many methods for thinning of binary images in the literature. We
use the method by Eckhardt and Maderlechner [2, 3], since it seems to be
theoretically very well understood. Thinning means application of an iterative
procedure for removing points of a certain type from D. The result is a so-called
(reduced) skeleton from which we can derive a curve ~. in the plane ~r. Note that
the size of the squares in ~r has been chosen such that the digital set D is
connected. The curve fi is a first approximation of the points Pi, and it is used for
two purposes: to measure the thickness of the cloud of points Pi and to find the
order of these points, i.e. to find initial parameter values ti for the least squares
fitting of the curve c. Then an approximating curve c can be constructed as a
least squares fit of the points Pi using the input computed from f:. For a helical
surface approximation, one can use a weighted least squares fit in an iterative
procedure to compensate the distortions of the errors that result from the
non-orthogonality of the trajectories to the plane ~r.
316 H. Pottmann and T. Randrup
5. Examples
We have implemented our approach and in this section we give three examples.
Each example includes type determination, approximation of the generating
motion and surface approximation.
The exact surface normals of S 1 have been computed at 303 points distributed
on the surface such that the density of these points is approximately the same
everywhere. The standard deviation of the approximating linear complex at
these normals is o-= 0.0513 and, therefore, from these data we can derive
information for type recognition and the generating motion M. The calculated
axis A of M has direction vector (0.0174, -0.0090,0.9998) and moment vector
(0.0099, 0.0325,0.0001). The calculated pitch of M is 0.1964.
Figure 4 illustrates the homogeneously distributed data points and their normal
vectors. Moreover, the trajectory of the point ~ in the plane ~- is shown with one
of its normal planes, which serves as projection plane 7r. In ~- we see the
projected points Pi, i = 1,..., 303.
j_c--P~
Figure 4. An overview
318 H. Pottmann and T. Randrup
Figure 5 shows the points Pi with the grid structure in zr. This grid leads to the
(finite) digital plane on the left-hand side of Fig. 6. After the thinning algorithm,
we get the digital plane on the right-hand side of Fig. 6. We see that the
skeleton has a structure from which we can derive the curve ~ in the plane rr. It
is the curve which approximates the midpoints of all squares with corresponding
value 1 in this digital plane.
The next example is concerning scattered data (e.g. from a laser scanner) from
an object which is a surface of revolution. Since we only have data points, the
surface normals at these points are estimated. To simulate this situation, we
consider the following surface of revolution
S2(u,v)=((v+l)cosu,(v+l)sinu,v2), u ~ [0,27r], v ~ [0,1].
A cloud of 337 homogeneously distributed and perturbed scattered data points
was taken from this surface. The standard deviation of the approximating linear
complex at these normals is ~r = 0.0438, and the result of the type determination
is p = -0.0022 and a = (0.0101,-0.0087,1.0000). Hence, we approximate the
scattered data with a surface of revolution, nearly, around the z-axis.
II
;J'L
fr ~,~ t'.l'-i
I f-~l'. I'"~" I
I.V_3 I ~1;1 [
I
[ I I_ f,*C_k L-J~I
I .L2L'SJ ?,t
Ir [ ~l,,,t:"1".r,l"
~_
/7
Zl
rl
I[
I
%~ 'J\%1 "1 |
1't~<')'1 1
I1I I
IJ
I
I
7 Jl
t
fl
}l . . . . .
f
t . . . .
Ji
~ i
I
~
0000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000001000000000 0000000000000000000001000000000
0000000000000000000001100000000 0000000000000000000001000000000
0000000000000000000011100000000 0000000000000000000001000000000
0000000000000000000011100000000 0000000000000000000001000000000
0000000000000000000011100000000 0000000000000000000001000000000
0000000000000000000111100000000 0000000000000000000010000000000
0000000000000000001111100000000 0000000000000000000100000000000
0000000000000000001111100000000 0000000000000000000100000000000
0000000000000000011111000000000 0000000000000000001000000000000
0000000000000000011111000000000 0000000000000000001000000000000
0000000000000000111110000000000 0000000000000000001000000000000
0000000000000001111110000000000 0000000000000000010000000000000
0000000000000001111100000000000 0000000000000000100000000000000
0000000000000011111000000000000 0000000000000000100000000000000
0000000000000111111000000000000 0000000000000001000000000000000
0000000000001111110000000000000 0000000000000010000000000000000
O000000000011111100000000000000 0000000000000100000000000000000
0000000000111110000000000000000 0000000000001000000000000000000
0000000001111110000000000000000 0000000000010000000000000000000
0000000011111100000000000000000 0000000000100000000000000000000
0000001111110000000000000000000 0000000011000000000000000000000
0000111111000000000000000000000 0000111100000000000000000000000
0000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000000000000000 0000000000000000000000000000000
000000000000000000000000000000 0000000000000000000000000000000
000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000000000000000 0000000000000000000000000000000
0000000000000000000000000000000 0000000000000000000000000000000
Figure 6. The digital plane and the reduced skeleton
From the grid in Fig. 9, we get the approximating curve e of the projected points
which also is shown in this figure. Figure 10 illustrates the surface of revolution
obtained by the method.
In the last example, we consider noisy data from a unit sphere with estimated
normals at homogeneously distributed points p~, i = 1,...,280. The angle
between the estimated and the true surface normal vectors turned out to be less
x'#, .,•
i
F i g u r e 8. T h e h e l i c a l s u r f a c e a p p r o x i m a t i o n o f S~
L1
r~ L I
II
I
II I
It
Ill
II
P~
i
I I
I.~L1 l
,,Tx'T I
I
I
J
I
1
IL I I~1]1 I
Ill
i
I
~I111
ILL
[I
II II
III IV,
I.lrl
,I
F
J
lii ~l I1 krgl
IvI
IlL
ILl
I I IJ ta~l J
i1
i LA~ ]
Iltl 111 I II I,I1~ t
Ill I I 1,1~ I
II I J
ILl l k-~ll l
~llll
II ! I i,,,~. -] I
II
II' !,ii I
I
Ill
III I(
]1 I
I ]
t
! i i!l l
I!t
lie
II I I [ I El I i ~ II t II
i I
111 t, I l lI! i
F i g u r e 9. T h e a p p r o x i m a t i o n CUl-Ve, t h e p r o j e c t e d p o i n t s a n d t h e g r i d
Rotational and Helical Surface Approximation for Reverse Engineering 321
Figure 10. The surface of revolution approximating the scattered data points
6. Future Research
In order to use the present algorithms for reverse engineering, one has to
combine them with techniques for segmentation. One way in which this segmen-
tation might be done is to use appropriate heuristics for choosing starting
regions that are checked for their type and approximated by a surface. Then, the
region is extended as far as data points fit well to it and an approximant is
recomputed. The region growing algorithm [10, 20, 21] then has to be repeated
until the general free-form surfaces and blending regions are left.
Let us consider the surface normals as points in the Pliicker model of line space,
which is obtained by viewing the 6 Pliicker coordinates (1,1) of a line as
coordinates of a point of the quadric II : 1.1 = 0 in real projective 5-space pS.
Now one can view the determination of elementary shapes as the detection of
point sets in H c P 5 which may be approximated well by linear subspaces.
Acknowledgements
This work has been supported in part by grant No. P11357-MAT of the Austrian Science Foundation
and grant No. EF586/CAGD of the Danish Academy of Technical Sciences.
322 H. Pottmann and T. Randrup: Rotational and Helical Surface Approximation
References
[1] Chen, H. Y., Pottmann, H.: Approximation by ruled surfaces. J. Comput. Appl. Math.
(submitted).
[2] Eckhardt, U., Maderlechner, G.: Thinning of binary images. Hamburger Beitr~ige zur Ange-
wandten Mathematik, Reihe B, Bericht 11, 1989.
[3] Eckhardt, U., Maderlechner, G.: Invariant thinning. Int. J. Pattern Rec. Art. Intell. 7,
1115-1144 (1993).
[4] Elber, G., Kim, M.-S.: Geometric shape recognition of freeform curves and surfaces. Grap.
Models Image Proc. 60 (to appear).
[5] Els~isser, G., Hoschek, J.: Approximation of digitized points by surfaces of revolution. Comput.
Graphics 20, 85-94 (1996).
[6] Gander, W., Golub, G.H., Strebel, R.: Least-squares fitting of circles and ellipses. BIT 34,
558-578 (1994).
[7] Hoschek, J., Lasser, D.: Fundamentals of computer aided geometric design. Wellesley Mas-
sachusetts: A. K. Peters, 1993.
[8] Klein, F.: Die allgemeine lineare Transformation der Linienkoordinaten. In: Gesammelte
math. Abhandlungen I. Berlin: Springer, 1921.
[9] Kraus, K.: Photogrammetrie, Vol. 2. Bonn: Diimmler, 1996.
[10] Leonardis, A., Gupta, A., Bajcsy, R.: Segmentation of range images as the search for
parametric geometric models. Int. J. Comput. Vision 14, 253-277 (1995).
[11] Lukfics, G., Marshall, A. D., Martin, R. R.: Geometric least-squares fitting of spheres,
cylinders, cones and tori. Preprint, University of Wales, Cardiff, 1997.
[12] Martin, R. R., Stroud, I. A., Marshall, A. D.: Data reduction for reverse engineering. In:
Goodman, T. N. T. (ed.) Mathematics of Surfaces VII, pp. 85-100. Information Geometers,
1997.
[13] Meer, P., Mintz, D., Rosenfeld, A., Kim, D. Y.: Robust regression methods for computer
vision: A review. Int. J. Comput. Vision 6, 59-70 (1991).
[14] Miiller, H. R.: Kinematik. Berlin: Walter de Gruyter, 1963.
[15] Piegl, L., Tiller, W.: The NURBS book. Berlin Heidelberg New York Tokyo: Springer 1995.
[16] Pottmann, H., Chen, H. Y., Lee, I. K.: Approximation by profile surfaces, Preprint, 1998.
[17] Randrup, T.: Approximation by cylinder surfaces. Comput. Aided Des. (submitted).
[18] Rousseeuw, P. J., Leroy, A. M.: Robust regression and outlier detection. New York: Wiley,
1987.
[19] Rosenfeld, A.: Digital topology. Am. Math. Monthly 86, 621-630 (1979).
[20] Sapidis, N. S., Besl, P. J.: Direct construction of polynomial surfaces from dense range images
through region growing. ACM Trans. Graphics 14, 171-200 (1995).
[21] Varady, T., Martin, R. R., Cox J.: Reverse engineering of geometric models - - an introduc-
tion. Comput. Aided Des. 29, 255-268 (1997).
[22] Wunderlich, W.: Zyklische Strahlkomplexe und geod~itische Linien auf euklidischen und
nichteuklidischen Dreh- und Schraubtt~ichen. Math. Z. 85, 407-418 (1964).