Sweep surfaces modelling via coordinate transformations and blending B K Choi and C S Lee
A method for constructing mathematical models r(u, v) of 'sweep-type' sculptured surfaces by using coordinate transformations and blending is described. The surface modelling scheme is based on the logic of describing sweep surfaces on conventional engineering drawings. A smooth sculptured surface that is best described as a trajectory of cross-section curves swept along profile curves is called a sweep surface. A sweep surface is regarded as a tuple consisting of cross-section curves, profile curves, and a sweeping rule. The sweeping rules considered are parallel sweeping, rotational sweeping, spined sweeping, and synchronized sweeping. Also considered is a generalized spined sweeping where cross-section curves are allowed to rotate around the spine curve. For all the sweeping rules, the model r(u, v) of the sweep surface has the same mathematical structure.
0
f .
.
.
.
.
"~,-. -3
geometric design, surface modelling, sweep surfaces, blending A smooth sculptured surface that is best described as a trajectory of cross-section curves swept along profile curves is called a sweep surface. A wide variety of curved objects are designed with sweep surfaces. The popularity of sweep surface seems to be due to the fact that it is easy to describe the sculptured surface by specifying 2D cross-sections, and that the resulting surface is aesthetically appealing. The designer may envision the surface as a blended trajectory of crosssection curves swept along profile curves, as exemplified in the illustrations provided in Figures 1-5. Shown in Figure l(a) is the transition surface, called a 'front mask', connecting the front face and the CRT screen of a commercial TV set. The front mask surface is defined by two boundary curves and a section curve (in this case, a straight line) as depicted in Figure l(b). The surface is generated, by sweeping the section line along the two boundary curves while synchronizing the flow rates of the two boundary curves. Figure 2 shows the 'funnel' of a CRT. The entire funnel surface is described by three horizontal cross-section curves and IEDepartment, KoreaAdvancedInstituteof Scienceand Technology, PO Box 150, Cheongryang, Seoul, South Korea Paper received: 16 June 1988. Revised:24 July 1989
volume 22 number 2 march 1990
b Figure 1. Synchronized sweep surface (front mask) four profile curves as depicted in Figure 2(b). A method of constructing the surface is to sweep the horizontal section curves in a parallel manner along the (vertical) linear 'design axis' while keeping the (flexible) section curves in contact with the profile curves. Figure 3 shows the surface of a typical washstand found in rest rooms. The entire surface is completely defined by a section curve (in this case, it is divided into two) and two boundary curves shown in Figure 3(b). The surface in Figure 3(a) is obtained by sweeping the section curves in a rotational fashion around an imaginary vertical line passing through the centre of the bottom circle while keeping the ends of the (flexible) section curves in contact with the boundary curves. The surface of a supercharger volute 7 is shown in Figure 4(a). It is described by fifteen section curves and a spine curve as depicted in Figure 4(b). The spine curve is sometimes called a design axis2. Another example of sweep surface is shown in Figure 5(a), which shows a spiral blade found in industrial mixers. The surface is obtained by sweeping and rotating the 2D closed curve along and around the
0010-4485/90/020087-10 © 1990 Butterworth & Co (Publishers) Ltd
87
.<--;7:L~---Z ,~:,,L-.-.-..:
.....
Q
.....
, <"J
."
J/'" .ft
.....-~.
t
./" j
j"
\
\
/ I
t t
t
\
../'"
\
/
b I'
\
\ \
\
Figure 3. Rotational sweep suflace (washstand)
k___.J-
\ \,
~ f ~.
I ~
~-I~
..xs~.I
- -
~
~-.,~...
-~ ~<' '~..
b
~-;. -~ • L.
:_-K~ ~-~---:"-,~ w "/~,. ",,<:,, . . . .
Figure 2. Parallel sweep surtace (#unnel ot CRT) li near design axis shown in Figu re 5(b). The cross-section curve in this case is fixed, but in general its shape is allowed to change during the sweeping. Proposed in this paper is a method, based on coordinate transformations, of constructing mathematical models r(u, v) for the sweep surfaces illustrated in Figures 1-5. The surface r(u, v) is represented as a series of simple transformations and blending of cross-section curves and profile curves. In the proposed modelling scheme, a sweep surface is regarded as a tuple consisting of cross-section curves, profile curves, and a sweeping rule. The sweeping rules considered are parallel sweeping, rotational sweeping, spined sweeping, and synchronized sweeping, which are similar to the ones found in the 'classification of die sculptured surfaces' proposed by Kishi ~. A cross-section curve (or simple section curve) is defined on its local coordinate system as a 2D parametric curve s(u) = (x(u), y(u), 0). A profile curve is either a boundary curve b(v) or a guide curve g(v). A sweep surface r(u, v) is then expressed as a series of coordinate transformations and blendings of the section curves s~(u) and profile curves bi(v), g(v). In solid modelling, translational and rotational sweeping are well known methods for defining 3D objects ~'s'~°.
88
~.~. ~--~
~ 7i" . ."..I:I
0
i -" J.,...... ! ~,il
,
ii
>
• J ...... ,! L ..... ¢-"
~
J
,-~-h
. . . . ii :
,..
!-..<
)
.
.
C>"--7~__-'
.
'~
,
I
j I
I
. ........
V
<" I /
I'"~,
|
t
. ...... L.
1
W b Figure 4. Spined sweep surface (supercharger volute)
computer-aided design
b
surfaces on which the boundary curves appearing in the main drawing are to be projected). Section curves are plane curves and are given on separate section drawings as shown in Figures 6(d) and 6(e). Presented in Figure 7 is a 3D view of the sweep surface together with two section planes and a base plane. The base plane corresponds to the main drawing of Figure 6(b), and the first (left) section plane represents the A-A' section of Figure 6(d). Imagine that the section plane is a solid plate on which the section curve is drawn from point P0 to point P1. Now make a through hole in the plate at P0 where the first boundary curve C, which is now denoted as b0(v), initially intersects with the plate. The boundary curves are also regarded as physical wires in 3D space. Then the plate is moved in space so that the wire b0(v) passes through the hole P0 while keeping the plate vertical. To obtain a unique motion of the moving plate (on which a section curve is drawn), a sweeping rule has to be specified. For the sweep surface of Figure 7, a natural choice would be to move the plate so that the 'flow rates' of the two boundary curves are 'synchronized'. In other words, if an intermediate section plane (i.e. the moving plate in an intermediate location)intersects the first boundary curve b0(v) at, say, 30% of the curve length, it should intersect the second boundary curve bl(v) also at 30% of its length. The proposed sweeping rule guarantees that the first boundary curve b0(v) always passes through P0 on the moving plate but the second boundary curve b~(v) does
Figure 5. Spined sweep surface (spiral blade) More recently, considerable efforts have been made to extend the shape domain of sweeping by allowing objects to sweep along 3D trajectories 6'7. In surface modelling, only limited results are reported in the literature. Simon 8 proposed a simple method of representing sculptured surfaces by using translational (i.e. parallel) sweeping and blending. However, a different approach using explicit interpolants has been investigated in recent years. The interpolant-based method for modelling sweep surfaces described in terms of section curves is known as skinning. Traditionally, the method of constructing sculptured surfaces from cross-sectional data has long been used, and this approach is called lofting. Gossling (also introduced in Faux and Pratt 2) proposed a method of constructing a composite (bicubic) B6zier surface for a sweep surface of the type shown in Figure 4. More general skinning techniques employing B-spline surfaces are presented in Woodward 9.
DESCRIPTION OF SWEEP SURFACES In engineering drawings, a sweep surface is usually specified by its profile curves and a number of crosssectional views as shown in Figure 6. Figure 6(a) is a 3D view of a sweep surface, and Figure 6(b) is the main drawing on which the boundary curves (curves C and D) and locations of cross-sections (sections A-A' and B-B') are drawn. The elevations (i.e. z-values) of the boundary curves also have to be given in auxiliary drawings as in Figure 6(c) or by other means (e.g. 3D
volume 22 number 2 march 1990
0
¢
e
Figure 6. Description of sweep surface in blueprints
Po
I ~"
_/ Section
Figure 7. 3D view of sweep surface of Figure 6
89
iv (v)
Y
w(o)
iv( 1)
bo(v)
~/
PO ~=%
B1
' ~e (o )_
Figure 8. Correction of intermediate section curve not in general intersect the plate at P~ as depicted in Figure 8, where B1 is the current intersection point of bl(V) on the plate. Thus, it is necessary to 'correct' the original section curve so that the 'initial intersection point' P1 is brought to the 'current intersection point' B~. The 'corrected' trajectory of the first section curve (section A-A') defines a sweep surface. By repeating the same steps for the second cross-section curve (section B-B'), another sweep surface is obtained. Finally, the two sweep surfaces are blended, according to a suitable blending rule, to obtain the final sweep surface.
MATHEMATICAL REPRESENTATION SYNCHRONIZED SWEEP SURFACE
OF
A mathematical model of a surface is a mapping from a 2D domain (of parameters u, v) to an E3-space. Our goal here is to obtain the mapping function r(u, v) from the descriptions of the two boundary curves and two section curves as given in Figure 6. The proposed modelling procedure consists of the following four steps, which are nothing but mathematical replica of the descriptive procedures of the previous section: • • • •
definition of coordinate frames and curve equations sweep transformation correction of section curves for boundary conditions blending
Coordinate frames and curve equations An xy-coordinate frame is defined on the main drawing (i.e., base plane) as shown in Figure 9. The two boundary curves are represented as parametric curve equations with respect to a 'profile parameter' v:
~e~)
//'h e(1)
Figure 9. Intersection vectors and intersection angles on base plane curve does not have an explicit form). The only requirement here is that the mapping from ve [0, 1] to b(v) is regular and nonsingular; that is, a one-to-one mapping is required. At any rate, it is simply assumed that b0(v) and b~(v) are given, as the curve parameterization itself is not the subject of this paper. Let IV(v) denote the vector from b~(v) to b0(v) on the xy-plane of the base coordinate frame as shown in Figure 9. Then the angle 0 between the x-axis and the 2D vector IV(v) becomes a function of v and is given by: O(v) = a tan 2(y0(v)- yl(v), Xo(V) - xl(v))
(1)
Since the 2D vector IV(v) represents the intersection between the base plane and an intermediate section plane, it is called the intersection vector, and the angle O(v) is called an intersection angle (on the base plane). In order to have a well-defined intersection angle 0(v), the projected images of the two boundary curves are not allowed to intersect with each other. On each of the section-view drawings, an xycoordinate frame is defined as shown in Figure 10, and then each section curve is represented as a parametric curve s(u) with 0 ~ u <~ 1 (for section parameter u). Also specified in the figure are coordinates of the guide point G through which b0(v) passes, the intersection vector IV appearing on the section plane, and the angle between the x-axis and the intersection vector. Notice in Figure 10 that the guide point G=(g~, gy, 0 ) = s ( 0 )
IV
b0(v) = (x0(v), y0(v), z0(v)); 0 ~< v ~< 1 (first boundary curve) bl(v) = (Xl(V), yl(v), zl(v)); 0 ~< v ~< 1 (second boundary curve) The parameterization of the boundary curves is not unique: it could be a B-spline curve, a composite B6zier curve, or a 'nonfunctional curve' (meaning that the
90
gx
-~X
Figure 10. Section coordinate system for synchronised sweeping
computer-aided design
and the intersection angle ~ are fixed values that are dependent on how the section coordinate frame is chosen. Thus it is always possible to define the section coordinate fram~ so that G = (0, 0, 0) and ~ = 180 ° which makes the transformation matrix much simpler.
Sweep transformation The first boundary curve b0(v) and the intersection vector IV(v) at a given value of the profile parameter v are shown in Figure 11 (a), and the section coordinate frame of Figure 10 is reproduced in Figure 11 (b). Notice that Figure 11 (a) represents the base coordinate frame and Figure 11 (b) is the xy-plane of a section coordinate frame. The objective here is to 'bring' the section plane to the desired position in the base coordinate frame so that the intersection vector IV on the section plane (see Figure 10) coincides with the intersection vector IV(v) attached to b0(v) in Figure 11 (a). For a given value of v, the 3D location of the section curve, p(u, v) in Figure 11(c), may be obtained by performing the following sequence of coordinate transformations. Imagine that the section plane of Figure 11(b) is originally located on the xy-plane of Figure 11 (a): • translate so that the guide point G is moved to the origin • rotate - - ~ degrees around the z-axis • rotate --90 degrees around the x-axis • rotate O(v) degrees around the z-axis • translate so that G is moved back to b0(v) Among the five transformations, the three rotations form the core of the sweep transformation, and can conveniently be expressed in a single matrix form: Sweep(~, O(v)) = Rot(z, --~) Rot(x, --90) Rot(z, O(v))
I coss,n-sin ]ilo ol
=
0
I
X
cos ~
0
0
0
0
I
cos O(v) sin O(v) --sin O(v) cos O(v) 0 0
T/ "~ ~) ( ~
)Iv
VY-X
c
0 ] 0 1
-1
0
I =
cos~cosl~(v) sin ~ cos O(v) --sin O(v)
cos ~sin 0(v) sin ~ sin O(v) cos O(v)
sin ~ 7 - c o s ~)
0
J
(2a) where ~ and O(v) are intersection angles on the section plane and base plane, respectively. If the section coordinate frame is defined so that -- 180 °, the sweep transformation matrix (2a) simplifies to
Sweep(0(v)) =
I
-cos0(v) 0 -sin O(v)
sin0(v) Ol 0 1 cos O(v) 0 (2b)
In either case, the sweep surface p(u, v) obtained by sweeping a section curve s(u) along a boundary curve b0(v) is expressed as the following sweep transformation: p(u, v) = (s(u) - G) Sweep(~,
O(v)~+
b0(v); 0~
(3a)
If the section coordinate system is defined so that the guide point G becomes the origin and the intersection vector IV is in the minus x-axis direction (i.e. G = (0, 0, 0) and ~ -- 180°), then the sweep surface equation (3a) becomes p(u, v) = s(u) Sweep(0(v)) + b0(v);
0 ~< u, v ~< 1 (3b)
Correction for surface boundaries The sweep transformations given by equation (3) will bring the initial section plane to an intermediate location as depicted in Figure 11 (c). Since the end point of the intermediate section curve p(u, v) is in general away from second boundary curve bl (v), the end point p(1, v) of the curve has to be brought to bl(v). One way of making this correction is first to scale the section curve p(u, v) so that the distance between its 'start point' p(0, v) and 'end point' p(1, v) becomes equal to the distance between the two boundary curves; second, obtain a section curve by translating the scaled curve so that p(0, v) coincides with b0(v); third, obtain another section curve by moving p(1, v) to bl(v); and finally blend the two resulting section curves by using a blending function. The scaling factor f(v) is defined as f(v)=
Ibo(v)-b~(v)l/ls(O)-s(1)l
(4)
The corrected intermediate section curve q (u, v) is then expressed as a blend of the two scaled (and translated) intermediate section curves:
G ~
~X
b
Figure 11. Sweep transformation volume 22 number 2 march 1990
q(u, v) =
~(u){f(v)[p(u, v) -- p(0, v)] + b0(v)} + ~(u){f(v)[p(u, v) -- p(1, v)] + bl(v)} 91
= f ( v ) l s ( u ) - ~(u)s(0)-/~(u)s(1 )]
simplest choice is a linear blending function:
x Sweep(b, O(v))
~(u)=
+ [~(u)bo(v) +/~(u)b 1(v)]
1
-
u;
fl(u)=
u
(5!
where ~(u) and/~(u) are blending functions.
Blending Since there are now two sweep surfaces, one from each section curve (sections A-A' and B-B' in Figure 6), the two sweep surfaces q~(u, v): i = 0, 1 of the form of equation (5) have to be blended. The equation of the blended sweep surface is expressed as:
When an array of sweep surface patches is constructed from a network of boundary curves and section curves, the following choice (sometimes called Hermite blending function) can provide tangent continuity across patch boundaries: ~ ( u ) = 1 - 3u 2 + 2u3;
/~(u) = 3u 2 - 2u 3
For a more detailed discussion on Hermite blending functions, the reader is referred to, for example, Faux and Pratt 2.
r(u, v) = ~(v)q0(u, v) +/~(v)q~(u, v)
MATHEMATICAL REPRESENTATION OF GENERAL SWEEP SURFACES
= ~(V)fo(V)[So(U) -- ~(u)s0(0)
--/~(u)s0(1)] Sweep(O0, O(v)) + ~(v)fl(v)[s~(u) -- ~(u)s~(0)
--/~(u)s~(1)] Sweep(Ol, O(v)) + [~(u)b0(v) + ~(u)bl(v)];
O<~u, v<~ l (6)
where, si(u)are equations of section curves i = 0 , 1; fi(v) = I b0(v) - bl(v) I / I s,(0) - s,(1) I (see equation (4));
~ is the intersection angle on section plane/(see Figure 10); O(v) is the intersection angle on base plane (see equation (1)); Sweep(~, O(v))is a 3 x 3 matrix as defined by equation (2); bj(v) are equations for boundary curves j = 0, 1; and ~(*), j~(*) are blending functions such that ~(0) =/~(1) = 1, ~(1) =/~(0) = 0, and ~(u) + /~(u) = ~(v) +/~(v) = 1.
The parametric surface expression (6) is a mathematical model of the synchronized sweep surface given in Figure 6. An isoparametric evaluation of the surface is shown in Figure 12. The 'front mask' surface of Figure 1 is another example of the synchronized sweep surface. The choice of the blending functions ~(*) and ~(*) in equation (6) affects the 'quality' of the surface. The Z
In addition to the synchronized sweeping rule discussed in the previous section, there are three more rules considered in this paper. In all, there are four sweeping rules as depicted in Figure 13. They are: • parallel sweep: section planes are parallel with each other (Figure 13(a)) • rotational sweep: section planes intersect with each other at a fixed vertical line which becomes the axis of rotation (Figure 13(b)) • spined sweep: section planes are perpendicular to the tangent of the spine curve projected on the base plane (Figure 13(c)) • synchronized sweep: each section plane intersects the two boundary curves at the same parameter value v (Figure 13(d)).
For the construction of general sweep surfaces, the concept of a guide curve is very important. In all of the sweeping rules given in Figure 13, the sweeping action is regulated by the flow rate of the guide curve g(v). A guide curve is either a spine curve (i.e. a design axis) or a boundary curve. In the synchronized sweep surface of the previous section, the first boundary curve b0(v) was treated as the guide curve; that is, g(v) -= b0(v). The choice g(v) = bl(v) would give the same result. A boundary curve becomes an actual boundary of the sweep surface, while the spine curve is not necessarily on the surface. When the section curves are closed curves, the spine curve may act as the centre of cross-sections (see Figure 4). The geometric entities appearing in Figure 13 are formally defined as follows: b0(s) = (x0(s), y0(s)),
0 ~< s ~< 1 (first boundary curve)
bl(t) = (Xl(t), yl(t), zl(t)),
0 ~< t ~< 1 (second boundary curve)
g(v) = (xg(v), yg(v), zg(v)),
0 ~< v ~< 1
dg(v)/dv = (;~g(v),)~g(v), 2g(v)) Figure 12. Isoparametric plotting of the sweep surface in Figure 6
92
(guide curve)
(derivative of g(v))
A = (ax, ay, 0) (coordinates of the axis of rotation in Figure 13(b))
computer-aided design
y
y
y
b
X
X
b
a
X
c
d Figure 13. Sweeping rules: (a) parallel, (b) rotational, (c) spined, (d) synchronized Then the intersection angles O(v) under different sweeping rules given as: 0(v) = 00
(parallel sweep)
(7a)
O(v) = a tan 2(yg(v) - ay, xg(v) -- a×) (rotational sweep)
(7b)
O(v) = a tan 2(~8(v), -~g(v)) (spined sweep)
(7c)
O(v) = a tan 2(y0(v) - yl(v), x0(v) - xl(v)) (synchronized sweep)
(7d)
Note that equation (7d) is the same as equation (1). Shown in Figure 14 is an initial section plane defined on its local coordinate system. The guide point G, intersection vector IV, and intersection angle ~ are defined as before (Figure 10). The only difference between the synchronized case of Figure 10 and the general case is that the guide point G in Figure 14 is allowed to depart from the section curve s(u). For a given value v of the profile parameter, the intermediate section curve p(u, v)is expressed as the following sweep transformation: p(u, v) = (s(u) - G) Sweep(~, O(v)) + g(v)
(8)
Notice the similarity between equation (8) above and equation (3a) in the previous section. Equation (8) may be obtained by simply replacing b0(v) with g(v).
volume 22 number 2 march 1990
y
s(O) Iv ~ ) I -qx
Is(l)
=_ x
Figure "/4. Section coordinate system /or a genera/ sweeping To define a 'correction transformation', the points on the intermediate section plane at which the two boundary curves intersect with it are required. The intersection points are easily obtained by numerically solving the following equations for s and t: b0(s)" n(v) = g(v). n(v)
(9a)
bl(t)" n(v) = g(v). n(v)
(9b)
where n(v) = (sin 0(v), - c o s 0(v), 0) (normal vector of section plane).
93
3) BC = 1/SC = 1
Let s* and t* be the solutions to equations (9a) and (9b), respectively. The scaling factor f(v) for a general sweeping rule is given by: f (v) = I bo(s*) -- b~ (t*) I / I s(0) -- s(1)l
r(u, v) = (s~(u) -- s~(0)) Sweep(~0, 0(v))f~(v) + b~(v);
I g(v) - bo(v/I Is0( 0 ) - GI
(10)
if g(v) ~ bo(vi for all ve[0, 1]
fo(v)= The 'corrected' intermediate section curve q(u, v) is then expressed as the following correction transformation (compare it with equation (5)):
1 4) B C = I / S C = 2
q(u, v) = f(v)[s(u) - ~(u)s(0)
r(u, v ) = ~(v)fo(v)(So(U)- s0(0)) Sweep(Oo, O(v))
-/~(u)s(1 )] Sweep( 0, O(v)) + [c~(u)b~(s*) +/~(u)bl(t*)]
+ ~ ( v ) f l ( v ) ( s l ( u ) - s~(0))Sweep(q~l, O(v)) (11)
+ b(v);
The final sweep surface r(u, v) is constructed by blending the two corrected intermediate section curves qi(u, v) for i = 0, 1:
f,(v) =
r(u, v) = o~(V)fo(V)[So(U) - 0~(u)s0(0)
otherwise
i=0,1
-[- ~(v)fl(v)[sl(U) - 0~(U)Sl(0)
5) B C = 2 / S C = I
-/~(U)Sl(1 )] Sweep(Ol, O(v))+ [0~(u)bo(s*) 0~
I g(v) - bo(v) l if g(v) # bo(v) I So(0) - G I for all v~[0, 1 ] 1
-/~(U)So(1 )] Sweep(Oo, O(v))
+/~(u)bl(t*)];
otherwise
r(u, v ) = 0~(u)[(So(U)- s0(0)) Sweep(~0, O(v))fo(V)
(12)
+ b0(s*)] +/~(u)[(s0(u)
where f~(v) is the scaling factor for section i (see equation (10)), s* is the intersection point of bo(s) (see equation (9a)), and t* is the intersection point of bl(t) (see equation (9b)). Note that the sweep surface equation (6) for a synchronized sweeping is in fact a special case of (12) where s* = t* = v. In summary, a sweep surface patch should have one guide curve, up to two boundary curves, and one or two section curves as listed in Table 1. When there is no boundary curve, a spine curve is necessary. A spine curve or a boundary curve acts as the guide curve. The sweep surface expression (2) corresponds to the case 6 in Table 1 where BC = 2/SC = 2, which represents the most general sweep surface patch. As a matter of completeness, the sweep surface expressions for other cases are given below:
- so(0)) Sweep(O0, O(v)) fo(v) + bl(t*)] = f0(v)[s0(u) - So(0)~(u) - s0(1)/~(u)] Sweep(O0, O(v)) + [0~(u)b0(s*) +/~(u)b~(t*)]; fo(V) =
I b~(t*) - b0(s*) J Jso(l) - s0(0) I
M A T H E M A T I C A L REPRESENTATION OF EXTENDED SPINED SWEEP S U R F A C E S This section presents an extended sweeping rule which is suitable for the case where closed section curves are allowed to rotate around a spine curve during a spined sweeping. Shown in Figure 15 is a closed section curve s(u) starting from and ending at the same boundary point B. That is,
1) B C = 0 / S C = I r(u, v) = (s0(u) -- Go) Sweep(~0, O(v)) + g(v)
B=s(0)=s(1)
2) B C = O / S C = 2 r(u, v ) = o~(v)(So(U)- Go) Sweep(q~0, O(v))
Also depicted in the figure are the guide point G and intersection vector IV in addition to the rotation angle
+/~(v)(sl(u) - - ( ~ ) S w e e p ( ~ , O(v)) + g(v)
Table 1. Sweeping rules for certain cases Applicable sweeping rules Cases
Number of boundary curves
Number of section curves
Parallel
Rotational
Spined
Synchronized
1 2 3 4 5 6
0 0 1 1 2 2
1 2 1 2 1 2
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
x x x x 0 0
94
computer-aided design
Y
(Figure 15), 3i is the initial rotation angle in section plane i (Figure 15); O(v) is the intersection angle on base plane (equation (7c)); and 3(v)is the rotation angle in space (equation (15)). Note in the above equation that 6 ( 0 ) = 3 o and 3 ( 1 ) = 31 .
B=s(O)=s(1)
(u)
A trwlal case oT the extended spined sweep surface (16) is the case where there is only one section curve without a boundary profile curve. In this case, the scaling factors are set to one (i.e. fi(v)= 1) and the rotation angle 6(v) becomes a linear function of v (if a constant rotational speed co is assumed). The surface equation for this special case is given by Z
Figure 15. Section coordinate system tor extended spined
sweeping 60 which represents the clockwise angle from the intersection vector IV to the line joining G and B. The rotational motion of the section curves s0(u), s~(u) around the guide curve g(v) is assumed to be controlled by a boundary profile curve b(v). Let
be a parametric representation of the boundary profile curve. Its intersection point b(s*) with an intermediate section plane is obtained by solving the following equation for s (see equation (9) for details): (13)
On the other hand, the unit intersection vector u(v) on base plane is expressed as: u(v)=(cos O(v), sin 0(v), 0)
The spiral blade given in Figure 5 is an example of the sweep surface (17). Another example is shown in Figure 16 (it is a Moebius strip) where the spine curve is a closed curve.
DISCUSSIONS AND CONCLUSIONS
b(v)=(xb(v), yb(v), zb(v))
b(s). n(v) = g(v). n(v)
r(u, v) = [s0(u) - Go] Sweep(~0 + coy, O(v)) + g(v) (17)
(14)
and the clockwise rotation angle 3(v) from the intersection vector u(v) to the line joining g(v) and b(s*) is given by: 6(v) = atan 2(zu(s*) -- zg(v), (b(s*) - g(v))-u(v))
Based on the surface modelling method described in the paper, a surface modelling and machining system called 'Sweep' has been developed by the authors. All the illustrative examples in this section were produced by the software system Sweep. The surface modelling scheme proposed in the paper is easy to understand because it is based on the logic of describing 'sweep type' surfaces on conventional engineering drawings, and it is easy to implement because the evaluation of the surface equations (12) and (16) is straightforward. It is, however, difficult to compute metric properties such as curvatures and surface areas. Further studies are needed in the areas of metrical properties computation, sweep surfaces intersection, and blending (rounding) of sweep surfaces, etc. In this respect, combining the sweeping approach with the skinning techniques seems to be a promising research topic.
(15) where s* is the solution to equation (13) for given v, and u(v) is the unit intersection vector given by equation (14). During the sweeping, the initial section curve s~(u) is rotated about the z-axis by the amount of 3(v) - 6~ right after Rot(z, ~i) in equation (2). Note that there is one boundary curve and there are two section curves (i.e. case 4 in Table 1). Thus the equation of the sweep surface under the generalized spined sweeping rule is expressed as:
REFERENCES 1 Welbourn, O B 'Computer-aided engineering (CADCAM/DUCT) in the foundry' Proc. British Cast Iron Research Association BCIRA (1984)
r(u, v) = o~(V)fo(V)[So(U)-- G0] Sweep(O0 + 6(v) -- 6o, O(v)) + ~(v)f~(v)[sl(u) -- G1] x Sweep(Ol + 3(v) -- 61, O(v)) + g(v) (16) where fl(v)= Ib(s*)-g(v)l/Isi(O)-QI for i = 0 , 1; ~i is the intersection angle on section plane i (Figure 14); G~ is the initial guide (centre) point in section plane i
volume 22 number 2 march 1990
Figure 16. Extended spined sweep surface (Moebius strip)
95
2 Faux, I D and Pralt, M J Computational Geometry for Desil4n and Manufacture Ellis Horwood (1980)
3D geometric modeling by sweep primitives' Pro(. CAD "82 Butterworth Scientific (1983)
3 Kishi, F 'CAD/CAM for the die making industry' Manuf. Eng. Vol 87 No 5 (1981) pp 90-92
8 Simon, R L 'A sculptured surface program' Machine Des. Vol 46 No 19 (1974) pp 116-121
4 Montenson, M E Geometric Modelling John Wiley (1986)
9 Woodward, C D 'Skinning techniques for interactive B-spline surface interpolation' Comput.-Aided Des. Vol 20 No 8 (1988) pp 441-451
5 Requicha, A A G 'Representation for rigid solids: theory, method, and systems' Comput. Surv. Vol 12 No 4 (1980) pp 437-464
7 Shiroma, Y, Okino, N and Kakazu, Y 'Research on
96
10 Gossling, T H 'The DUCT system of design for practical object' Proc. World Congress on the Theory ot Machines and Mechanisms Macmillan (1976)
computer-aided design