0% found this document useful (0 votes)
47 views16 pages

Rotational and Helical Surface Approximation For Reverse Engineering

The document discusses methods for approximating surfaces in 3D space, particularly focusing on cylindrical surfaces, surfaces of revolution, and helical surfaces, which are relevant in reverse engineering and computer-aided design. It outlines an algorithm that utilizes line geometry and numerical approximation techniques to fit scattered data points to these surface types, emphasizing the importance of surface normals. The study also includes geometric fundamentals and the mathematical framework necessary for determining the type of surface and computing the generating motion for the approximating surface.

Uploaded by

dietallyearlong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views16 pages

Rotational and Helical Surface Approximation For Reverse Engineering

The document discusses methods for approximating surfaces in 3D space, particularly focusing on cylindrical surfaces, surfaces of revolution, and helical surfaces, which are relevant in reverse engineering and computer-aided design. It outlines an algorithm that utilizes line geometry and numerical approximation techniques to fit scattered data points to these surface types, emphasizing the importance of surface normals. The study also includes geometric fundamentals and the mathematical framework necessary for determining the type of surface and computing the generating motion for the approximating surface.

Uploaded by

dietallyearlong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Computing 60, 307-322 (1998) ~ 1 ~

© Springer-Verlag 1998
Printed in Austria

Rotational and Helical Surface Approximation


for Reverse Engineering
H. Pottmann, Wien, and T. Randrup, Odense
Received June 16, 1997; revised November 21, 1997

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.

AMS Subject Classifications: 65D17, 68U07, 53A05.


Key words: Computer aided design, computer aided manufacturing, surface approximation, reverse
engineering, line geometry, surface of revolution, helical surface.

1. Introduction

Whereas conventional engineering uses C A D / C A M systems to create real


parts, reverse engineering transforms a real part into a computer model, in
particular it develops a CAD model of the part. An introduction into the basic
concepts of reverse engineering and a survey of the state of the art has recently
been given by Varady et al. [21].

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.

In particular, we investigate the detection of the simplest surface types and


present examples illustrating the efficiency of the proposed algorithm.

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

In 3-dimensional Euclidean space ~3 we use a Cartesian coordinate system and


represent a straight line L by a normalized direction vector 1, II111= 1, and its
moment vector 1 := x x I with respect to the origin. Here, x denotes the coordi-
nate vector of an arbitrary point on L. Note that i is independent of the choice
of x. The 6 coordinates of L are its so-called normalized Pliicker coordinates.
They satisfy the Pliicker relation l.i = 0. Any 6-tupel ( l , i ) ~ ~6 with IIlll= 1,
!. 1 = 0 represents a line, where (1, i) and ( - 1, - i) describe the same line.

A continuous motion in ~3, composed of a continuous rotation around an axis


A and a proportional continuous translation parallel to A is called a helical
motion or screw motion (see Fig. 1). We assume A to be the third axis of the
coordinate system and parameterize the motion with respect to the rotational
angle t. Then, a point whose position at t = 0 is x(0) = (x 0, Y0, z0) has at time t
Rotational and Helical Surface Approximation for Reverse Engineering 309

o°.°. ............ ~o "'°°..°° °°°

- ..................... "......... ""'"-..x(t)

vt }

Figure 1. Generation of a helical motion and a helical surface

position x(t) = (x(t), y(t), z(t)) with

x(t)-~x o c o s t - y 0 s i n t , y ( t ) = x 0 s i n t + y 0cost, z(t)=zo+Pt.


The proportionality factor p of the velocities of the rotational and translational
part is called the pitch of the helical motion.

The motion assigns to each point x = (x, y, z) a velocity vector v = ( - y , x,p)


that determines the tangent of its path (trajectory). All lines through x which are
normal to v are called path normals (Fig. 2); the path normals through x form a
pencil in the path normal plane u(x). Although one associates in this way to
each of the 3-parameter set of points a one-parameter set of path normals, the
set of path normals is not 4-dimensional; it turns out that a path normal is
orthogonal to the path tangent at any of its points. The direction vectors of the
path normals are orthogonal to the velocity vector, i.e.

l . v - l l y + 12x + 13p = O,

and together with

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

p may be computed via


c ~ -pc c.~
a-Ilcll' ~ Hell ' p = c2 . (2)
A and p are also called axis and pitch of the complex.

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).

Another special case to be discussed is c = 0 and ~. v~ 0. Here, the associated


helical motion degenerates to a pure translation parallel to ~ and (1) describes
its path normals, i.e. all lines orthogonal to ~.

The following well-known result is of fundamental importance for our applica-


tion. The normals of a C I surface lie in a linear complex if and only if the surface is
contained in a cylinder, a surface of revolution or a helical surface. In one
direction, this follows from the discussion above, since cylinders, surfaces of
revolution and helical surfaces are traced out by curves that are undergoing a
continuous translation, rotation or helical motion, respectively. At any surface
point, the surface normal is orthogonal to the corresponding path tangent and
hence, all surface normals are path normals of such motions and therefore lie in
a linear complex. For the reverse direction, assume that all normals lie in a
linear complex. Corresponding to a well-known result in space kinematics [14],
any surface point then lies on the envelope of the surface when it is moved with
the corresponding helical motion, rotation or translation, respectively. Hence,
the surface is a helical surface, a surface of revolution or a cylinder.

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

Figure 2. Path normals of a helical motion (left) and a rotation (right)


Rotational and Helical Surface Approximation for Reverse Engineering 311

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.

A further important input to the solution of the problem is an appropriate


measure of the deviation of a given line L = (l,i) from a linear complex C to
C = (~',e). According to F. Klein [8] we use the moment of L with respect to C,

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

For e :~ 0, the moment has the following geometric interpretation. Pick an


arbitrary point x on L and let r be its distance from the axis; ~-/2 - a shall
denote the angle between L and the path tangent of x for the underlying helical
or rotational motion. Note that a ~ [0, ~-/2] is the smallest angle between L
and a line of C through x (path normal at x, see Fig. 3). Then

m(L,C)=~+p 2 sin a. (4)


All lines forming the same moment m #: 0 with C lie in a so-called cyclic
quadratic complex. This is a 3-parameter set K of lines with the following
remarkable properties. The lines of K which pass through an arbitrary point
form a cone of revolution (cf. (4)) and the lines of K in a given plane are the
tangents of a circle. For more details and relations to geodesics on helical
surfaces, see W. Wunderlich [22].

3. Type Determination and Approximation of the Generating Motion

To approximate a given surface S or scattered points with a helical surface or


one of its special or limit forms (surface of revolution, cylinder), we first
compute the generating motion of the approximant as follows.

Let Ni=(ni,ii)=(nil,..., ni6), i = l , . . . , k be exact or estimated surface


normals at points of S or data points, respectively. Here we take care that the
density of the points at which we compute the normals is approximately the
same everywhere. For reverse engineering applications there will be the neces-
sity to apply a data reduction algorithm [12]. We do not discuss estimation of
surface normals here, since there exists already a variety of solutions (see [7]).
312 H. Pottmann and T. Randrup

Figure 3. Moment of a line with respect to a linear complex

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.

We now need to compute a linear complex C which is as close as possible to the


given lines N~. For that we compute C as a minimizer of E m ( X , N ) 2 among all
linear complexes X, represented by X = (~,x). With (3) this is equivalent to
minimizing the positive semidefinite quadratic form
k
r ( x ) := E =: X -N-X (5)
i=1

under the normalization condition

1 = Ilxll 2 =: X ~ . D - X . (6)

Using the vectors v, := ( n l i . . . . . n k i ) , i = 1 . . . . . 6, N is their Gramian, N =


(( vi, vj }), and D is the 6 × 6 diagonal matrix with diagonal (0, 0, 0,1, 1,1). This is
a familiar general eigenvalue problem. Using a Lagrangian multiplier A, we have
to solve the system

(N- x -o.X= 1. (7)


Hence, A must be a root of the equation
d e t ( N - AD) = 0. (8)

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.

The standard deviation of the approximating linear complex C at the given


Rotational and Helical Surface Approximation for Reverse Engineering 313

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

to span a pencil C = AC1 + ~/,C 2 of linear complexes. It should be close to a


so-called parabolic pencil which contains exactly one complex with vanishing
pitch p = 0. Thus, we use Eq. (2) to compute a complex C with vanishing
pitch p or - - in case that the corresponding quadratic equation does not
have a real solution I a complex with the minimal absolute value of the
pitch. The corresponding axis will then serve as axis of a fit of the data by a
torus. Note that too small portions of a surface will always imply the
existence of a family of solutions; the choice of one solution then depends on
the application. This will not be pursued in the following.
2. If all three eigenvalues Ai are small, we are close to the case with a
two-parameter set of solution complexes. Therefore, the data may be fitted
well by a sphere or a plane. From a numerical point of view, the latter case
should be detected earlier by its nearly parallel estimated normals or,
equivalently, by the small extent of its Gaussian image.

Remark 2. In reverse engineering, one should be able to cope with outliers in


the data. These may either be large measurement errors or data points belong-
ing to geometrically different parts of the model. The least squares method in
the form presented above, would be too sensitive to outliers. Therefore, one may
use a robust regression method to compute an initial estimate (e.g. an estimate
to a least median of squares solution [18]) and then refine it by either rejecting
outliers or by down-weighting their influence on the final approximant. This kind
of noise filtering based on so-called M-estimators has been investigated in detail
both in statistics [18] and in computer vision [13]. Note that our approach is
nicely compatible with M-estimation, since we just have to reformulate F as a
weighted sum of squares of moments, using one of the weighting schemes
suggested in the literature. The same applies to the surface approximation
method in the following section.

Remark 3. The presented method is closely related to the following approach.


For the helical motion associated with (1), the path tangent of the point d
possesses the tangent vector
t=~+c/d.
Then, the angle 7, between the surface normal n~ and the helical tangent t~ at a
data point d i satisfies

ni't i ~..ni -F c . f i i
cos 7/ Iltill 11~"+ c x dill"

Minimizing
k
G = E cos2ri
i=1

is therefore a nonlinear optimization problem. In view of (4), our method


Rotational and Helical Surface Approximation for Reverse Engineering 315

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

So far, we have discussed the construction of a generating motion M of the


approximating surface, where M can be a helical motion, rotation or translation.
Let us now project the data points di, i = 1,..., k at which we computed the
surface normals, with help of their paths under M into a plane ~-. For a
rotation, ~- passes through the axis and for a translation we take ~r orthogonal
to its direction. For a helical motion, there is no plane which is orthogonal to all
data point trajectories. To find an approximately orthogonal plane, we first
project the data points into a plane ~- through the axis A; in a local coordinate
system, let A be the x3-axis and g" be the plane x 1 = 0. For the resulting points
~ , one determines the medians m~ of the xi-coordinates (i = 2, 3). Then, ~- is
defined as path normal plane at the point ~ with local coordinates (0, m2, m3).
The projected points p~ in ~- form a set, which should lie close to some curve c.

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

Applying M to the curve c, we get a surface S of the desired type. Depending on


the application, we may have to trim S to get an approximating surface patch of
the given data. This can be performed by an orthogonal projection of the data
onto S [7].

In CAD applications, surfaces such as plane, cylinder of revolution, cone of


revolution, sphere and torus frequently appear. Using the proposed algorithms
for reverse engineering, we will therefore check whether an approximation with
such a surface is possible. In combination with the proposed methods for
computing a generating motion M, this just requires the approximation of a
data set in space by a plane or sphere, or a planar data set by a line or a circle.
We compute the midpoint of a circular or spherical approximant as least
squares solution of a system of equations
(2x-pi-pj)'(pi-Pj)
=0,
IIpi- pjtl
describing bisectors of pairs of data points pi, Pi" For very close data point pairs,
the measurement errors would cause a large influence on the bisector and thus
we take pairs of sufficient distance only. For other methods, see [6, 9, 11]. In
particular, we point to the algorithm by Luka& et al. [11], which is based on a
formulation as a non-linear least squares problem. Our method provides good
initial estimates for this algorithm, which should then yield improved final fits
for the mentioned special surfaces.

Another reconstruction algorithm of a surface of revolution from a set of points


has been proposed by Els~isser and Hoschek [5]. Their method is an iterative one
and the determination of an initial estimate of the rotational axis requires the
knowledge of points on a rotational surface which is traced out by a full rotation
of a curve around the axis.

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 first example is the surface given by


S l ( u , v ) = ((v + 1)cosu,(v + 1)sin u , v 2 + 0.2u + 0.2v sin 3u),
u c [0,~-], v ~ [0,1].
This is not a helical surface, since S 1 contains the term 0.2v sin 3u. Without this
term, the surface would be (a part of) a helical surface obtained by the helical
motion around the z-axis with pitch 0.2 of the curve
(v + 1,0, v2), v ~ [0,1].
Rotational and Helical SurfaceApproximationfor Reverse Engineering 317

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 approximating curve e is shown in Fig. 7. It is computed as the curve which


approximates all the points p~ within an error distance depending on the
thickness of the cloud of points p~. This thickness is computed from ~. Applying
the calculated motion M to the curve c, we obtain the helical surface in Fig. 8.
This helical surface is an approximation of S 1.

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
~

Figure 5. The projected points and the grid


Rotational and Helical Surface Approximationfor Reverse Engineering 319

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'#, .,•

Figure 7. The approximationcurve and the projected points


320 H. Pottmann a n d T. R a n d r u p

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~

t h a n 4 degrees. Since A1 = 0.1311, Az = 0.1442 a n d A3 = 0.1654, we a p p r o x i m a t e


either with a p l a n e or a sphere. F r o m the G a u s s i a n i m a g e of t h e e s t i m a t e d
n o r m a l s it is clear that we shall use a fit by a sphere.

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.

Another interesting topic for future research is the consideration of other


surface classes such as cones and more general developable surfaces, profile
surfaces (rotation minimizing sweeping surfaces) [16], canal surfaces and general
ruled surfaces [1].

The approximation of a given freeform surface by surfaces with a simple


kinematic generation seems to be interesting also for path planning in NC milling
offreeform surfaces. This will be investigated in future research.

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).

Helmut Pottmann Thomas Randrup


Institut fiir Geometrie Odense Steel Shipyard Ltd.,
Technische Universit~it Wien P.O. Box 176
Wiedner HaupstraBe 8-10 DK-5100 Odense C
A-1040 Wien Denmark
Austria e-mail: [email protected]
e-mail: [email protected]

You might also like