Computer-Aided Design, Vol. 30, No. 10, pp. 757–763, 1998 q 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain 0010-4485/98/$19.00+0.00
PII: S0010-4485(98)00030-X
Approximation of surfaces of revolution by developable surfaces Josef Hoschek
wire and the process of material removal is that of spark erosion due to sparks produced between the wire and the part which is emersed in a di-electric fluid. For discussing developable surfaces often differential geometric properties are used: the construction of a shoulder surface for a feeder of a powder filling machine is discussed 12,13, while Aumann 14 studies a special interpolating problem with a developable surface. These results were generalised in 4,8. A general solution using methods from differential geometry and finite elements for an approximating design of a planar development of doubly curved surfaces and their refinement is discussed in 15–17, while our approach uses elementary methods.
Algorithms are developed for approximation of surfaces of revolution by parts of cones and cylinders. The method can be extended to other surfaces generated by moving a planar curve. The main idea is to use the offset curves with an offset 6 « of a given planar curve for controlling the approximation with respect to a maximal error tolerance «. As a result we obtain a planar pattern of the considered surfaces, and thus the surfaces can be approximately developed by bending the planar development. q 1998 Elsevier Science Ltd. All rights reserved. Keywords: developable surfaces, revolutes, approximation, cones, cylinders
SURFACES OF REVOLUTION INTRODUCTION A surface of revolution is obtained by rotating a planar curve about an axis of revolution, lying in the plane and rigidly connected with the curve, through a complete revolution. We shall choose the axis of revolution to serve as the z-axis of the coordinate system. The intersection of the surface of revolution with the planes going through the axis are called meridians. They are curves congruent to the generating curve of the surface. Surfaces of revolution are often used in applications; approximation by surfaces of revolution are developed in 18,19. We assume that the given planar curve is a curve in the plane x ¼ 0 of a Cartesian coordinate system. In this case the meridian has a parameter representation
The surfaces of many products are fabricated by bending flat sheets of material (paper, cloth, glass, leather, sheet metal etc.) without stretching or otherwise deforming them. These surfaces have the very specific property that they can be developed (flattened) onto a plane and generate a pattern or development for cutting the material to the appropriate shape. These surfaces are called developable surfaces; they are a special subclass of the ruled surfaces, surfaces generated by a straight line moving in space. The most familiar developable surfaces are the (general) cones and cylinders. In this paper we will only consider these developable surfaces. Approximations by general developable surfaces (envelopes of tangent planes of a space curve) are developed 1–4. Developable surfaces are useful in a number of applications, for example in the design of boat hulls 5 and shoes and clothing 6, in windshield designs 7, and as binder (blank holder) surfaces for sheet metal deforming process 4,8 and duct work 9,10. Another application of approximation of freeform surfaces by developable surfaces is the use for electric discharge machining 11. this is a manufacturing operation in reverse engineering, where the cutting tool is a moving
0 M(u) ¼
n X i¼0
0
1
B C C bi Bni (u) ¼ B @ y(t) A t [ [0, 1]
(1a)
z(t)
with the Bernstein polynominials Bni (u) of degree n and the control points 0
0
1
B C C bi ¼ B @ bi2 A
(1b)
bi3
Darmstadt University of Technology, Arbeitsgruppe3, Schloßgartenstraße 7, 64289 Darmstdt, Germany Paper Received: 5 July 1997. Revised: 29 April 1998
Whilst rotating around the z-axis a point of eqn (1) with 757
Approximation by developable surfaces: J Hoschek
Figure 1 Approximating line segment of a circle on a surface of revolution
the ordinate y(t) describes the half circle (in the plane z ¼ 0Þ 20. 0 ÿ
1
1
0
0
1
B C B C B C B C B20 (v) þ B22 (v) R(v) ¼ B 0 CB20 (v) þ B y(t) CB21 (v) @ A @ A y(t) 0 0 1 1 B C B C ð2Þ þ B 0 CB22 (v) @ A ¹ y(t)
Combining eqns (1) and (1) and eqn (2) leads to the parametric representation of a surface of revolution as rational tensor product surfaces X X(u, v) ¼
n i¼0
X
2 n 2 j ¼ 0 bij Bi (u)Bj (v) B20 (v) þ B22 (v)
(3)
Figure 3 Given surface of revolution
APPROXIMATION IN DIRECTION OF THE AXIS OF REVOLUTION The goal of this approximation process is now to subdivide the surface of revolution in developable strips, and these strips can be rotated around the axis of revolution. These strips are generated by line segments approximating the circles of revolution, which are perpendicular to the axis of revolution. The maximal approximation error will appear at the point of the meridian with maximal distance from the axis of revolution. The corresponding circle has the radius r U max ly(t)l t[[0, 1]
with 0
1
0
1
0
1
1 0 1 B C C B C B B bi2 C B 0 C B 0 C B C C B C ~ B bi0 ¼ B C, bi1 ¼ B C, bi2 ¼ B C B 0 C B bi2 C B ¹ bi2 C @ A A @ A @ bi3 bi3 0 ~ i1 denotes a Be´zier point at infinity (only the direcwhere b tion (bi1 ,0,0) is active) 6.
(4)
A given error tolerance « should be held in the midpoint of the generating line segments describing the required strip between the end points of the line segments (see Figure 1). Due to Figure 1 we obtain for the opening angle b m tanbm ¼
l rsina ¼ r¹« r¹«
(5)
and r ¹ 2« r Thus we have cosa ¼
r ¹ 2« rsin arccos r (6) bm ¼ arctan r¹« We assume that the required approximation surface should consist of k equal shaped strips which rotate around the axis of revolution but k·b m will be in general unequal to p. Therefore, we will use as an opening angle b # b m p p b ¼ with k ¼ d e (7) k bm Figure 2 surface
758
k-gon as a cross section of the developable approximation
where d e denotes the next natural number larger than p=bm . Therefore, a cross-section of our required approximation
Approximation by developable surfaces: J Hoschek Table 1 Number, k, of developable strips and approximation error « k
0.1 8
0.05 10
0.02 16
plane now has the parametric representation 21 0 1 0 n X B C B (1 ¹ «)bi2 C; Bni (t) M« (t) ¼ @ A i¼0 bi3
Figure 4 Approximation of surface in Figure 3 developable strips (« ¼ 0:1)
surface leads to a regular k-gon determined by the angle b (see Figure 2). The length, l, of a segment of the generator of our developable surface depends on the radius y(t) of the surface of revolution. If in Figure 1 we exchange « by «(t) and r by y(t) we get as a length l(t) of the generator of the developable strip l(t) ¼ (y(t) ¹ «(t))tanb and y(t)2 ¼ l(t)2 þ (y(t) ¹ 2«(t)2 ) Eliminating l(t) leads to «(t) ¼ y(t)
tan2 b V y(t)« 4 þ tan2 b
(8)
or as length of the generator’s segment of the developable strip l(t) ¼ y(t)(1 ¹ «)
(9)
The approximation curve of the given meridian in the (y,z)
0.01 22
(10)
By (numerical) integration we have to determine the arc length s(t) of eqn (10). Thus, the boundary curves of the required strip of the developable approximation surface developed in the plane have the parametric representation ! s(t) X(t) ¼ 6 l(t) Figure 3 contains a surface of revolution of a quartic meridian curve with the control points ! ! ! ! 1 5 ¹5 5 , b1 ¼ , b2 ¼ , b3 , b0 ¼ 0 2 4 6 ! 1 : b4 ¼ 8 Figure 4 contains the approximation by developable strips (cylinders) and « ¼ 0.1, Figure 5 shows one of the strips developed in the plane and the difference of the given meridian curve and the approximating meridian. Table 1 compares the approximation error « with the number k of segments. A special application of these developable approximation surfaces is the construction of a suitcase corner of a tank (see Figure 6). If we assume that the tank should be constructed by developable planar metal sheets we need approximating developable strips of the suitcase corner (part of a sphere). If R is the radius of the sphere we get the opening angle of the strip with help of formula (eqn (6)) and by inserting r ¼ R. Now we have only a rotation through a quarter of a circle, thus the number, k, of segments is determined by p p with k ¼ d e b¼ 4k 4bm Figure 7 gives an approximation of a suitcase corner and
Figure 5 A strip of the approximation surface in Figure 4 developed into the plane
Figure 6 Suitcase corner of a tank
759
Approximation by developable surfaces: J Hoschek
Figure 7
Approximation of a suitcase corner with R ¼ 10
Figure 8 the strips developed in the plane. Table 2 contains the dependency of the number of segments, s, and the error tolerance, « (for R ¼ 10). The surface in Figure 7 is only C 0 continuous, and higher quality is impossible. The deviations of the normal vectors of two neighbouring strips is p=2s.
Figure 3 by conical segments (« ¼ 0.05), while Figure 11 shows the conical segments developed into the plane. Table 3 contains the dependency of the number of segments and the error tolerance, «.
EXTENSIONS The presented method can be extended to surfaces generated by special motions. We will consider an approximation of a
APPROXIMATION OF SURFACES OF REVOLUTION BY A SET OF CONES Now we assume that the developable approximation surface should consist of a set of cones or cylinders. For this approximation we need a linear approximation of the meridian. In order to obtain this linear approximation we move the end point, Q, of a line segment on the offset curves with a given error tolerance 6« as offset, and stop the motion of the end point, Q, if one of the interior points of the line segment has the maximal distance « from the meridian (see Figure 9). The set of line segments can be interpreted as a linear B-Spline curve, and thus the representation of the corresponding surface of revolution can be described analogously to eqn (3). The distances of the interior points of the line segments to the given meridian are determined by a local Newton method, used also in reparametrization of approximation curves (see 20). Figure 10 contains the approximation of the surface in Table 2 Number of segments, s, and error tolerance, « (R ¼ 10), for the approximation in Figure 7 « s
760
0.1 4
0.05 6
0.02 9
0.01 13
Figure 8 Planar strips of the corner in Figure 7
Approximation by developable surfaces: J Hoschek
Figure 9
Approximation of the meridian from the surface in Figure 3 by line-segments with the given error tolerance 0.1 mm. The offset-curves are dotted
Figure 10 Conical approximation of the surface in Figure 3
761
Approximation by developable surfaces: J Hoschek
Figure 11 Conical segments of Figure 10 developed into the plane
translation surface by developable strips. Therefore we move the planar curve in the (x,y)-plane of our system of reference (see 21): 0 M(u) ¼
n X i¼0
0
1
B C C bi Bni (u), bi ¼ B @ bi2 A
0 R(v) ¼
m X j¼0
762
B C ˜ B˜ C b˜ j Bm j (v), bj ¼ @ b j2 A
The generated translation surface has the representation 0 F(u, v) ¼
Figure 12 A translation surface and the approximation by general cylinders
1
0
bi3
along the translation curve (in the (x,y)-plane of the system of reference)
b˜ j1
n X m X i¼0 j¼0
b˜ j1
1
B C B (b ¹ b ) þ b˜ CBni (u)Bm j (v) 02 j2 A @ i2 bi3
Approximation by developable surfaces: J Hoschek Table 3 Number of segments, s, and error tolerance « for the approximation in Figure 10 « s
0.1 4
0.05 7
0.02 11
0.01 17
We now approximate the curve M by line-segments as described in the third section, and move these linesegments along the translation curve. Thus, we get an approximation of the given translation surface. Figure 12 contains an example and the approximation.
CONCLUSION This paper has introduced a new elementary approach to the decomposition of surfaces into developable components. Unfortunately not every freeform surface can be exactly represented using pieces of developable surfaces, and therefore a restriction to surfaces generated by motions (profile surfaces) was necessary. Implicitly we have assumed that the material thickness is negligible—compensating material thickness for the bending process is an additional problem. For the surfaces discussed in the paper, bevelling the edges of the strips can help to get up approximation surfaces with sufficient quality. The bevelling angle follows from the generation of the surface.
7. Norton, E Design of Production Windshields with Computer Graphics, Society of Automotive Engineers Paper 690193, 1969. 8. Frey, W H and Bindschadler D, Computer Aided Design of a Class of Developable Be´zier Surfaces, General Motors R&D Publication 8057, 1993. 9. Weiss, G and Furtner, P, Computer-aided treatment of developable surfaces. Computers and Graphics, 1988, 12, 39–51. 10. Sundar Varada Raj, P ‘Evolution of Generic Mathematical Models and Algorithms for the Surface Development and Manufacture of Complex Ducts,’ Journal of Engineering for Industry (Transaction of the ASME), 1995, 117. 11. Yang, M and Lee, E, NC verification for wire-EDM using a R-map. Computer Aided Design, 1996, 28, 733–740. 12. Culpin, D, A metal-bending problem. Math. Scientist, 1980, 5, 121– 127. 13. Boersma, J and Molenaar, J, Case study from industry. SIAM Review, 1995, 3, 406–422. 14. Aumann, G, Interpolation with developable Be´zier patches. Computer Aided Geometric Design, 1991, 8, 409–420. 15. Bennis, Ch, Ve´zien, J -M and Igle´sias, G, Piecewise surface flattening for non-distorted texture mapping. Computer Graphics, 1991, 25, 237–246. 16. Elber, G, Model fabrication using surface layout projection. Computer Aided Design, 1995, 27, 283–291. 17. Azariadis, Ph and Aspragathos, N, Deling of plane developments of doubly curved surfaces. Computer Aided Design, 1997, 29, 675–685. 18. Elsa¨sser, B and Hoschek, J, Approximations of digitizes points by surfaces of revolution. Computer and Graphics, 1996, 20, 85–94. 19. Pottmann H and Randrup T Rational and helical surface approximation for reverse engineering, Technical Report Nr. 43, TU Wien, 1997. 20. Hoschek, J and Lasser, D Computer Aided Geometric Design, AK Peters Ltd, 1993. 21. Buth, A Approximation von Fla¨chen durch stu¨ckweise abwickelbare Fla¨chen in Be´zier-Darstellung, Diplomarbeit, TU Darmstadt, 1997.
REFERENCES 1. Bodduluri, R M C and Ravani, B, Design of developable surfaces using duality between plane and point geometries. Computer Aided Design, 1993, 25, 621–632. 2. Pottmann, H and Farin, G, Developable rational Be´zier and B-spline surfaces. Computer Aided Geometric Design, 1995, 12, 513–531. 3. Hoschek, J and Pottmann H ‘Interpolation and approximation with developable B-Spline Surfaces,’ In Mathematical Methods for Curves and Surfaces, ed. M Dæhlen, T Lyche and L L Schumaker, Vanderbilt University Press, 1995, pp. 255–264. 4. Hoschek, J and Schneider M ‘Interpolation and approximation with developable surfaces.’ In Curves and Surfaces with Applications in CAGD, ed. A Le Me´haute´, C Rabut and L L Schumaker, Vanderbilt University Press, 1997, pp. 185–202. 5. Clements, J C, A computer system to derive developable hull surfaces and tables of offsets. Marine Technology, 1981, 18, 227–233. 6. Hinds, B K, MacCartney, J and Woods, G, Pattern development for 3D surfaces. Computer Aided Design, 1991, 23, 583–592.
Professor Hoschek gained a PhD in mathematics in 1964 at the University of Technology Darmstadt, Germany, and became an assistant professor in 1968 and a full professor of mathematics in 1970 at the University of Technology Darmstadt. His technical background is in differential geometry and kinematics, and he has worked on the mathematical foundations of methods in computer aided geometric design since 1978. He has also carried out research into applications of geometry and kinematics in engineering and biomechanics, and organized conferences about curves and surfaces in computer aided geometric design and kinematics and robotics. He is editor of the journal ‘Computer Aided Geometric Design’.
763